Distributed multi-access edge service delivery

ABSTRACT

Methods, computer program products, and systems are presented. The method computer program products, and systems can include, for instance: examining capability data of a shared ledger data structure, wherein the capability data specifies one or more capability for respective ones of a plurality of service capability applications; joining a service capability application of the plurality of service capability applications to a service delivery application in dependence on the examining; and running the service delivery application, with the service capability application joined to the service delivery application.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/244,317, filed Apr. 29, 2021, entitled, “DISTRIBUTED MULTI-ACCESSEDGE SERVICE DELIVERY” which is incorporated herein by reference in itsentirety.

BACKGROUND

Embodiments herein relate generally to service delivery and particularlyto distributed multi-access edge service delivery.

A network service can include an application running at the networkapplication layer and above that provides data storage, manipulation,presentation, communication or other capability which is oftenimplemented using a client-server architecture based on applicationlayer network protocols. Each network service is usually provided by aserver component running on one or more computer and accessed via anetwork by client components running on other devices. However, clientand server components may both run on the same machine. In addition, adedicated server computer may offer multiple network servicesconcurrently.

Data structures have been employed for improving operation of computersystem. A data structure refers to an organization of data in a computerenvironment for improved computer system operation. Data structure typesinclude containers, lists, stacks, queues, tables and graphs. Datastructures have been employed for improved computer system operatione.g., in terms of algorithm efficiency, memory usage efficiency,maintainability, and reliability.

Artificial intelligence (AI) refers to intelligence exhibited bymachines. Artificial intelligence (AI) research includes search andmathematical optimization, neural networks and probability. Artificialintelligence (AI) solutions involve features derived from research in avariety of different science and technology disciplines ranging fromcomputer science, mathematics, psychology, linguistics, statistics, andneuroscience. Machine learning has been described as the field of studythat gives computers the ability to learn without being explicitlyprogrammed

SUMMARY

Shortcomings of the prior art are overcome, and additional advantagesare provided, through the provision, in one aspect, of a method. Themethod can include, for example: examining capability data of a sharedledger data structure, wherein the capability data specifies one or morecapability for respective ones of a plurality of service capabilityapplications; joining a service capability application of the pluralityof service capability applications to a service delivery application independence on the examining; and running the service deliveryapplication, with the service capability application joined to theservice delivery application.

In another aspect, a computer program product can be provided. Thecomputer program product can include a computer readable storage mediumreadable by one or more processing circuit and storing instructions forexecution by one or more processor for performing a method. The methodcan include, for example: examining capability data of a shared ledgerdata structure, wherein the capability data specifies one or morecapability for respective ones of a plurality of service capabilityapplications; joining a service capability application of the pluralityof service capability applications to a service delivery application independence on the examining; and running the service deliveryapplication, with the service capability application joined to theservice delivery application.

In a further aspect, a system can be provided. The system can include,for example, a memory. In addition, the system can include one or moreprocessor in communication with the memory. Further, the system caninclude program instructions executable by the one or more processor viathe memory to perform a method. The method can include, for example:examining capability data of a shared ledger data structure, wherein thecapability data specifies one or more capability for respective ones ofa plurality of service capability applications; joining a servicecapability application of the plurality of service capabilityapplications to a service delivery application in dependence on theexamining; and running the service delivery application, with theservice capability application joined to the service deliveryapplication.

Additional features are realized through the techniques set forthherein. Other embodiments and aspects, including but not limited tomethods, computer program products and systems, are described in detailherein and are considered a part of the claimed invention.

BRIEF DESCRIPTION OF THE DRAWINGS

One or more aspects of the present invention are particularly pointedout and distinctly claimed as examples in the claims at the conclusionof the specification. The foregoing and other objects, features, andadvantages of the invention are apparent from the following detaileddescription taken in conjunction with the accompanying drawings inwhich:

FIG. 1 depicts a multi-access edge (MEC) environment, according to oneembodiment;

FIG. 2 depicts a MEC environment, according to one embodiment;

FIG. 3 is a flowchart illustrating performance of a method, according toone embodiment;

FIG. 4 depicts a MEC environment, according to one embodiment;

FIG. 5 depicts a MEC environment, according to one embodiment;

FIG. 6 is a flowchart illustrating performance of a method, according toone embodiment;

FIG. 7 depicts a predictive model, according to one embodiment;

FIG. 8 depicts a predictive model, according to one embodiment;

FIG. 9 depicts a MEC environment, according to one embodiment;

FIG. 10 is a diagram illustrating types of edge enterprise entityenterprises, according to one embodiment;

FIG. 11 depicts a MEC environment, according to one embodiment;

FIG. 12 is a flowchart illustrating performance of a method, accordingto one embodiment;

FIG. 13 is a flowchart illustrating performance of a method, accordingto one embodiment;

FIG. 14 is a flowchart illustrating performance of a method, accordingto one embodiment;

FIG. 15 is a flowchart illustrating performance of a method, accordingto one embodiment;

FIG. 16 depicts a computing node, according to one embodiment;

FIG. 17 depicts a cloud computing environment, according to oneembodiment; and

FIG. 18 depicts abstraction model layers, according to one embodiment.

DETAILED DESCRIPTION

A multi-access edge (MEC) environment 10 is shown in FIG. 1 . MECenvironment 10 can include MEC platform 100 disposed in computingenvironment 12A and MEC platform 100 disposed in computing environment12B. MEC platform 100 in computing environment 12A can include datarepository 108 and can host service delivery application 110. Servicedelivery application 110 can be in communication with ledger datastructure 120 which can be configured as a shared ledger data structurethat is shared between MEC platforms 100. MEC platform 100 in computingenvironment 12B can include data repository 108 and can host servicecapability applications 140A-140Z which service capability applications140A-140Z can be in communication with ledger data structure 120. MECplatform 100 of computing environment 12A and MEC platform 100 ofcomputing environment 12B can be computing node-based systems comprisingone or more computing node. In one embodiment, computing environment 12Acan be an edge computing environment closer to the edge end defined atuser equipment (UE) device 20A than computing environment 12B.

A MEC platform 100 herein can include data repository 108. Datarepository 108 can store, e.g., an instance of ledger data structure 120configured as a shared ledger data structure, program images includingvirtual machine program images, application data including servicetemplates and capability templates as set forth herein.

Embodiments herein recognize that various challenges are faced byenterprise entities wishing to deliver services to end users.Embodiments herein recognize that edge enterprise entities, i.e.,enterprise entities that own, operate and/or control edgeinfrastructure, can be challenged to provide end-to-end services tousers such as users of UE devices 20A. Embodiments herein recognize thatedge enterprise entities, commonly referred to as communication serviceproviders (edge enterprise entity CSPs), can provide end-to-end servicesto end users by performing complex full-infrastructure builds requiringextensive resources and planning. However, due to the investmentrequirements associated to an end-to-end service, an edge enterpriseentity may elect not to undertake the risk to build the new service.Entities other than edge enterprise entities can be similarly challengedand can also elect not to undertake risk necessary to provide a service,and without access to edge infrastructure can be limited in the range ofservices that they offer.

MEC environment 10 is shown in FIG. 1 can have features to facilitatecollaboration between enterprise entities interested in providingdelivered services to end users. Ledger data structure 120 can be ashared ledger data structure shared between MEC platform 100 ofcomputing environment 12A, MEC platform 100 of computing environment12B, and additional MEC platforms 100 (not shown in FIG. 1 ) distributedin computing environments throughout MEC environment 10. Ledger datastructure 120 can be provided to facilitate enterprise entitiespublishing and advertising capabilities data specifying capabilities oftheir service capability applications. Ledger data structure 120 caninclude one or more ledger. The one or more ledger of ledger datastructure 120 can include a capability ledger and a demand ledger. Acapability ledger of ledger data structure 120 can record data onservice capability applications of MEC environment 10, and can include asupply ledger that permits an edge enterprise entity to advertisecurrent offers. A demand ledger of ledger data structure 120 can permitan entity to write demand data that specifies a demand for the servicecapability application having certain attributes.

Ledger data structure 120, according to one embodiment, can beconfigured as a Blockchain ledger data structure. Ledger data structure120 can be a distributed ledger structure that can be distributed to beassociated with each of a plurality of members of a ledger datastructure, e.g., Blockchain network. Members of the ledger datastructure network can include, e.g., enterprise entity owners of MECplatforms 100 herein. Enterprise entity owners of MEC platforms 100herein can act as authorities that mediate access to ledger datastructure 120.

According to one embodiment, ledger data structure 120 can be animmutable ledger and can be provided by a Blockchain ledger datastructure. Ledger data structure 120, when provided to be compliant withBlockchain, can include a list of records called blocks, which can belinked together using cryptography. Each block can include acryptographic hash of transaction data (that is, a digital fingerprint),a cryptographic hash of a previous block, a timestamp, and thetransaction data. The hash of the transaction data can include a Merkletree root hash. Ledger data structure 120 can be resistant tomodification of data. Ledger data structure 120 can be configured sothat once a block of data is recorded into ledger data structure 120,the data cannot be altered retroactively without alteration of allsubsequent blocks. According to one embodiment, alteration of ledgerdata structure 120 can be restricted and can be permissible, e.g., onlyon consensus of ledger data structure network members. Each block ofledger data structure 120 can include a cryptographic hash oftransaction data, a cryptographic hash of a previous block, a timestamp,and the transaction data. A previous block hash can link the blockstogether and prevent any block from being altered or a block from beinginserted between two existing blocks, and accordingly, each subsequentblock strengthens the verification of the previous block and, hence theentire blockchain. The described process renders the blockchain tamperevident leading to the attribute of immutability.

MEC environment 10 can be configured so that enterprise entities canwrite capabilities data to the capability ledger to register servicescapabilities into ledger data structure 120. MEC environment 10 can alsobe configured so that enterprise entities can write demand data definingdemands for service capabilities applications into a demand ledger ofledger data structure 120. In some scenarios, demand data written to ademand ledger of ledger data structure 120 can be generated responsivelyto the running of service delivery application 110.

Service delivery application 110 can be a dynamic service deliveryapplication that can dynamically extend service features during therunning of service delivery application 110. In one embodiment, servicedelivery application 110 can use ledger data structure 120 todynamically extend service features during the running of servicedelivery application 110. Dynamic extending of service features caninclude service delivery application 110 joining one or more servicecapability application hosted within MEC environment 10 during therunning of the service delivery application 110. The one or more joinedservice capability application providing an extended service feature canbe a service capability application developed by an enterprise entityother than the enterprise entity providing service delivery application110.

Service delivery application 110 can run one or more native process 111,service request monitoring process 112, and service extension process113. The one or more native process 111 can provide baselinefunctionality for a service delivery application 110. The one or morenative process can take on numerous forms depending on the application.Service delivery application 110 running service request monitoringprocess 112 can monitor for service function extension requests such asrequests for service function extensions based on user defined inputdata of a user such as a user of UE device 20A as shown in FIG. 1 .Service delivery application 110 running service extension process 113can, in response to detection of a service feature extension request,extend service features of a current service delivery applicationdefined by service delivery application 110. Service deliveryapplication 110 running service extension process 113 can include use ofledger data structure 120 to identify one or more service capabilityapplication suitable for use with a service delivery application.

MEC environment 10 can be configured so that multiple enterpriseentities can write capabilities data to ledger data structure 120 inorder to advertise their service capability applications. Within MECenvironment 10, various enterprises can run service deliveryapplications such as service delivery application 110 which can join oneor more service capability application during runtime of the servicedelivery applications.

At least one MEC platform within MEC environment 100 can be amulti-tenancy MEC platform configured to host service capabilityapplications of multiple enterprise entities. In the embodiment of FIG.1 , MEC platform 100 of computing environment 12B can be a publiclyaccessible multi-tenancy MEC platform and can host service capabilityapplications 140A-140Z developed by multiple different enterpriseentities. In the embodiment of FIG. 1 , MEC platform 100 of computingenvironment 12B can be configured so that enterprise systems 30A-30Z ofmultiple different enterprises, e.g., by automated process and/or agentdeveloper user action, initiate hosting of their developed servicecapability applications on MEC platform 100 of computing environment12B. An enterprise entity associated to one of enterprise systems30A-30Z can be any enterprise, e.g., an edge enterprise entity or anon-edge enterprise entity. An edge enterprise entity can be anenterprise entity that owns, operates and/or controls edgeinfrastructure such as an edge network provided by radio access network(RAN). A non-edge enterprise can be an enterprise entity that does notown, operate or control edge infrastructure.

Enterprise systems 30A-30Z, e.g., on an automated process or under theoperation of an enterprise agent user, can develop service capabilityapplications for hosting on MEC platform 100 of computing environment12B. Enterprise entities associated to enterprise systems 30A-30Z canpresent to an authority associated to MEC platform 100 a servicecapability application and capability data for entry into ledger datastructure 120 specifying capabilities of the service capabilityapplication. The authority associated to MEC platform 100 can be theenterprise entity that owns MEC platform 100 according to oneembodiment. The authority on approval of the service capabilityapplication can permit hosting of the service capability application onMEC platform 100 of computing environment 12B and entry of the presentedcapabilities data on ledger data structure 120. On preparation of aservice capability application and on approval of the authorityassociated to MEC platform 100 of computing environment 12B, enterprisesystems 30A to 30Z can write capabilities data to the capability ledgerof shared ledger data structure 120 specifying attributes of the servicecapability application. On approval by the authority associated to MECplatform 100 of computing environment 12B, capabilities data associatedto the service capability application can be stored in the capabilityledger of ledger data structure 120, and MEC platform 100 of computingenvironment 12B can host the newly developed service capabilityapplication. Service capability applications 140A to 140Z hosted by MECplatform 100 can be developed by a plurality of different enterprises,which enterprises can be enterprises other than edge enterprises whichdo not own, operate or control edge infrastructure. In spite of beingdeveloped by enterprises other than edge enterprises, service capabilityapplications 140A-140Z of MEC platform 100 within computing environment12B can be readily integrated into service delivery applications of anedge enterprise.

Service capability applications, which can extend and enhance thefunctioning of service delivery application 110 hosted on MEC platformof computing environment 12A, can be conveniently hosted on MEC platform100 of computing environment 12A or any computing node having networkconnectivity to MEC platform 100 of computing environment 12A. MECplatform 100 of computing environment 12B can host a plurality ofservice capability applications 140A to 140Z. MEC platform 100 ofcomputing environment 12B can be configured to be in communication witha plurality of enterprise systems 30A- 30Z, which can present servicecapability applications for hosting on MEC platform of computingenvironment 12B.

In the embodiment of FIG. 1 , MEC platform 100 of computing environment12A hosting service delivery application 110 can be owned, controlled,and/or operated by an edge enterprise entity owning, controlling and/oroperating the infrastructure defining computing environment 12A. In theembodiment of FIG. 1 , MEC environment 10 can be configured to permitcollaboration between an edge enterprise entity and another enterpriseentity in the delivery of a service to an end user.

Service delivery application 110 can be configured so that in responseto detecting a service extension request, service delivery application110 can use ledger data structure 120 to identify a suitable servicescapability application to perform the function and can join the servicecapability application into service delivery application 110.

In using ledger data structure 120 to identify a suitable servicecapability application for joining with service delivery application110, service delivery application 110 can examine capability data of acapability ledger within ledger data structure 120. In using ledger datastructure 120 to identify a suitable service capability application tojoin with service delivery application 110, service delivery application110 can additionally write demand data to a demand ledger of ledger datastructure 120. In response to the demand data, an enterprise entitymonitoring the demand ledger of ledger data structure 120 can writeadditional capability data specifying attributes of service capabilityapplications including updated capability data of prior servicecapability applications of the enterprise entity and capability data ofnew service capability applications of the enterprise entity being madeavailable by the capability provider enterprise entity in response tothe monitoring of the demand data. Service delivery application 110 canexamine the additional capability data written responsively to thedemand data. Service delivery application 110 can dynamically write ademand to a demand ledger of ledger data structure 120 during runtimeprocessing of the service delivery application, e.g., in response todetection of a service function extension request.

Embodiments herein facilitate rapid development of service deliveryapplications by edge enterprise entities so that detailed servicefunctionalities can be satisfied by service capability applicationsdeveloped by enterprises other than the edge enterprise entity. Theassociation of a service capability application to service deliveryapplication 110 can be facilitated by ledger data structure 120. Forextension of a service delivery application 110, service deliveryapplication 110 can examine capabilities data of a ledger data structure120 in order to identify a suitable service capability application forintegration into service delivery application 110 and can write a demandentry to a demand ledger of ledger data structure 120 in order tospecify a demand for a service capability application that would beintegrated into service delivery application 110.

MEC environment 10 can include computing environment 12A and computingenvironment 12B. In one embodiment, computing environment 12A can beprovided by an edge infrastructure computing environment defined withinan edge network and computing environment 12B can be a non-edgeinfrastructure computing environment farther from an edge end thancomputing environment 12A. In one embodiment, computing environment 12Aand computing environment 12B can be edge infrastructure computingenvironments. In one embodiment, computing environment 12A can be closerto an edge end at UE device 20A than computing environment 12B. MECenvironment 10 can facilitate collaboration between different enterpriseentities in the delivery of services to end users.

Service delivery application 110 can run one or more native process 111,service request monitoring process 112 and service extension process113. Service delivery application 110 running service request monitoringprocess 112 can include service delivery application monitoringapplication data for service extension requests. Service deliveryapplication 110 running service extension process 113 can includeservice delivery application 110 joining to service delivery application110 one or more service capability application. The one or more servicecapability application can include one or more service capabilityapplication developed by an entity other than the enterprise entitydeveloping service delivery application 110. In one embodiment, theenterprise entity developing service delivery application 110 hosted onMEC platform 100 of computing environment 12A can be an edge enterpriseentity that owns, operates, and/or controls infrastructure of an edgenetwork.

FIG. 2 depicts MEC environment 10 in further detail. MEC environment 10can include UE devices 20A-20Z in communication with data network 2000via a plurality of edge enterprise entity networks 1000. Respective edgeenterprise entity networks 1000 can include edge infrastructure owned,operated, and/or controlled by respective different edge entities. Thefirst edge enterprise entity can own, operate, and/or control the edgenetwork infrastructure comprising wireless network 1100-1,fronthaul/backhaul network 1200-1, and core network 1300-1. A secondedge enterprise can own, operate, and/or control the edge infrastructurecomprising wireless network 1100-2, fronthaul/backhaul network 1200-2,and core network 1300-2. A third edge enterprise entity can own,operate, and/or control the edge infrastructure comprising wirelessnetwork 1100-Z, fronthaul/backhaul network 1200-Z, and core network1300-Z. Different respective ones of the edge enterprises can betelecommunications network providers which are sometimes referred to ascommunication service providers (edge enterprise entity CSPs).

In the described embodiment of FIG. 2 , the combination of a wirelessnetwork and a fronthaul network can define edge network 500 provided bya radio access network (RAN). Edge network 500 can define edgeinfrastructure. The depicted RANs provide access from UE devices 20A-20Zto respective core networks. In an alternative embodiment, one or moreof edge networks 500 can be provided by a content delivery network(CDN).

Each of the different UE devices 20A-20Z can be associated to adifferent user. A UE device of UE devices 20A-20Z, in one embodiment,can be a computing node device provided by a client computer, e.g., amobile device, e.g., a smartphone or tablet, a laptop, smartwatch or PCthat runs one or more program that facilitates access to services by oneor more service provider. A UE device of UE devices 20A-20Z canalternatively be provided by, e.g., an internet of things (IoT) sensingdevice.

Embodiments herein recognize that hosting service functions on one ormore computing node within an edge enterprise entity network 1000 canprovide various advantages including latency advantages for speed ofservice delivery to end users at UE devices 20A-20Z. Edge enterpriseentity hosted service functions can be hosted e.g., within an edgenetwork 500 or otherwise within edge enterprise entity network 1000.

In other embodiments that are set forth herein, service deliveryapplication 110 can be provided by an enterprise entity other than anedge enterprise entity. Such a service delivery application 110 can behosted on MEC platform 100 within a computing environment external to anedge computing environment, e.g., within data network 2000. By runningof such a service delivery application 110, the service deliveryapplication 110 can join one or more service capability applicationdeveloped by an edge enterprise entity and running on a MEC platform 100within an edge enterprise entity computing environment, e.g., within anedge network.

Data network 2000 can include, e.g., an IP multimedia sub-system (IMS)and/or “the internet” which can be regarded as the network of networksthat consist of private, public, academic, business, and governmentnetworks of local to global scope linked by a broad array of electronic,wireless, and optical networking technologies. Data network 2000 caninclude, e.g., a plurality of non-edge data centers. Such data centerscan include private enterprise data centers as well as multi-tenancydata centers provided by IT enterprises that provide for hosting ofservice functions developed by a plurality of different enterpriseentities.

MEC environment 10 facilitates collaborations between enterpriseentities in the delivery of services to end users. The collaborationscan be between edge enterprises and non-edge enterprises, betweenmultiple edge enterprises, or between multiple non-edge enterprises. Forbuild-out of a service delivery application, an edge enterprise entityneed not develop each service function to be provided to an end user.Rather, in one example, a service delivery application 110 can beprovisioned as an extensible service delivery application. In oneembodiment, the extensible service delivery application can be a servicedelivery application that dynamically joins one or more servicecapability application during the running of the service deliveryapplication. The joining service delivery application 110 can be hostedeither closer to edge end at the end user or farther away from the enduser than the service capability application.

Some edge entities that own, operate, and/or control edge infrastructuresuch as provided by an edge network 500 can offer multi-tenancy hostingservices that permit enterprises other than edge enterprises to hosttheir applications on one or more edge node within edge enterpriseentity network 1000.

Referring to MEC environment 10 as shown in FIG. 2 , MEC environment 10can include a plurality of MEC platforms 100 distributed throughout MECenvironment 10. MEC platforms 100 can include, e.g., private MECplatforms accessible only by enterprise entities owning, operating,and/or controlling the infrastructure defining the MEC platform or caninclude publicly accessible multi-tenancy MEC platforms. Publiclyaccessible MEC platforms of MEC platforms 100 can include, e.g., MECplatforms of edge enterprise entities that own, operate, and/or controledge infrastructure and/or publicly accessible multi-tenancy MECplatforms of IT service providers who own, operate, and/or controlinfrastructure defining data network 2000.

In the described embodiment of FIG. 2 , edge enterprise MEC platformscan include MEC platforms 100 at locations AA, BA, CA, AB, BB, CB, AC,BC, and CC. In one embodiment, the described edge enterprise entity MECplatforms 100 of edge enterprise entity locations AA, BA, CA, AB, BB,CB, AC, BC, and CC can be inaccessible to entities other than the edgeenterprise entity providing the MEC platform. However, in someinstances, an edge enterprise entity providing a MEC platform 100 withinan edge infrastructure defined by edge enterprise entity network 1000can elect to configure their MEC platform as a multi-tenancy MECplatform to provide access to enterprise entities other than the edgeenterprise providing the MEC platform. Access to MEC platform 100 caninclude, e.g., ability to develop and host service capabilityapplications on the MEC platform and/or to join hosted servicecapability applications hosted on the MEC platform.

MEC platforms 100 within MEC environment 10 as shown in FIG. 2 caninclude MEC platforms 100 of data network 2000 which can include the MECplatforms 100 at locations D1, D2, through DZ of data network 2000.According to one embodiment, MEC platforms 100 at locations D1, D2 . . .DZ can be publicly accessible multi-tenancy MEC platforms configured tohost service capability applications developed by enterprise entitiesother than edge enterprise entities (or including edge enterprises whowish to host on the MEC platform). MEC platforms at locations D1, D2 . .. DZ can provide a hosting platform for service function providers whowish to join in the development of delivered services to an end userwithout investment in edge infrastructure. Enterprise entities otherthan edge enterprise entities, in some embodiments, can host servicedelivery applications on MEC platforms 100 at D1, D2 . . . DZ which areconfigured to be extensible delivery applications that join one or moreservice capability application hosted on a MEC platform within an edgeinfrastructure.

In a further aspect with respect to MEC environment 10, the respectiveMEC platforms 100 can include instances of ledger data structure 120which can be configured as a shared ledger data structure and which caninclude one or more ledger. During the deployment period of MECenvironment ledger data structure 120 can be shared and be iterativelyupdated. The updated version of ledger data structure 120 can beiteratively shared between the respective MEC platforms 100 of MECenvironment Each respective MEC platform 100 can store an updatedversion of shared ledger data structure 120 in its respective datarepository 108.

A method for performance by service delivery application 110 running onMEC platform 100 of computing environment 12A interoperating with ledgerdata structure 120, MEC platform 100 of computing environment 12B,enterprise system 30A-30Z, and UE device 20A is described in theflowchart of FIG. 3 . In one embodiment, service delivery application110 hosted on MEC platform 100 of computing environment 12A can be aservice delivery application of an edge enterprise entity and computingenvironment 12A can be provided by one or more computing node offronthaul/backhaul network 1200-1, i.e., the MEC platform 100 atlocation BA of FIG. 2 .

According to the network schematic view of FIG. 4 , MEC platform 100 ofcomputing environment 12A as shown in FIG. 1 can be provided by an edgenetwork cluster as shown in FIG. 4 which can be provided within afronthaul/backhaul network 1200-1. In one embodiment, MEC platform 100of computing environment 12A as shown in FIG. 1 and FIG. 4 can be anedge infrastructure cluster provided by a network aggregation pointwithin a fronthaul/backhaul network 100-1 of edge network 500 providedby a RAN. The MEC platform 100 of computing environment 12A as shown inFIG. 1 can alternatively be provided, e.g., by base stationinfrastructure of a RAN defining edge network 500, transmission nodeinfrastructure of RAN defining edge network 500, or core networkinfrastructure of an edge enterprise entity network.

With reference to the flowchart of FIG. 3 , MEC platform 100 ofcomputing environment 12B can be a MEC platform 100 at location Dl ofdata network 2000, in one example. In the described example of FIGS. 1,3, and 4 , computing environment 12B can be farther from an edge end atthe end user at UE device 20A than computing environment 12A which canbe defied within an edge enterprise entity network 1000 (FIG. 2 ).

With reference to the flowchart of FIG. 3 , service delivery application110 hosted on MEC platform 100 of computing environment 12A can beprovided by telephone call service delivery application. Referring toFIG. 1 , the one or more native process 111 of the phone call servicedelivery application can include, e.g., a number analysis process and acurrent region end point process for determining a termination end pointwithin a current region of computing environment 12A. Service deliveryapplication 110 as shown in FIG. 1 can be absent of certain additionalservice functions but can be configured to be extensible so that suchadditional service functions can be joined to service deliveryapplication 110 by joining a service capability application developed byan external enterprise entity other than the enterprise entitydeveloping service delivery application 110.

Referring to the flowchart of FIG. 3 , UE device 20A at block 1201 canbe sending a dialed phone number, i.e., a number sequence to servicedelivery application 110 running on MEC platform 100 of computingenvironment 12A. In the described example, edge network 500 of the firstedge entity described with reference to FIG. 2 can be configured so thatthe dialed phone call is pushed through processing by MEC platform 100at location BA as described herein. With further reference to theflowchart of FIG. 3 , service delivery application 110 at processingblock 1101 can perform processing of the received phone number sequencedefined by the dialed phone number. Processing at block 1101 can includeperforming the one or more native process as described in FIG. 1 and canalso include performance of service request monitoring process 112 andservice extension process 113 as described in FIG. 1 . For performanceof service request monitoring process 112, service delivery application110 can be iteratively updating service template 114 as described inreference to FIG. 4 .

Shown in FIG. 4 , service delivery application 110 for performance ofservice request monitoring process 112 can iteratively update servicetemplate 114. With performance of service extension process 113, servicedelivery application 110 can use capability template 115 stored in datarepository 108. Service delivery application 110 can also includeregulatory end node process 116 for translation of regulatoryrequirements between end nodes of service regions.

Service template 114 can specify service functions requested by servicedelivery application 110 configured as an extensible service deliveryapplication. Service template 114 can store associated criterion datathat specifies criterion for detecting service function extensionrequest for respective service functions. Service template 114 canspecify whether an identified service function is a native functionprovided by one or more native process 111 or an external function thatis not provided by one or more native process. An example servicetemplate, according to one embodiment, is illustrated by the decisiondata structure of Table A.

TABLE A Service Row function ID Service function Active/InactiveNative/External 1 A001 Phone number Active Native processing 2 A002Current region Active Native endpoint 3 A003 External region XX Externalrouting 4 A004 Security level 1 Active Native 5 A005 Security level 2 XXExternal 6 A006 Security level 3 XX External 7 A007 Video conference XXExternal

Service delivery application 110 can be configured to iteratively updateservice template 114 throughout a runtime of service deliveryapplication 110. Referring to the decision data structure of Table A,service template 114 which can be stored in data repository 108 canspecify a list of identified functions currently requested by a servicedelivery application 110 and can also specify whether the requestedfunction is provided by one or more native process 111 or whether theservice function is an external function and not a native process.Service template 114 can specify whether an identified service functionis active or inactive. An active service function can be a servicefunction currently requested for optimal performance of service deliveryapplication 110. An inactive service function can be a service functioncurrently not required for optimal performance of a service deliveryapplication. Service delivery application 110 can transition a servicefunction from inactive to active on detection of a service extensionrequest for the service function. For performance of service requestmonitoring process 112, service delivery application can iteratively,during runtime processing of a service delivery application, performexamining criterion data specifying criterion for detecting servicefunction requests, can update inactive/active statuses based onexamining, and can examine most recent inactive/active statuses.

Referring again to the flowchart of FIG. 3 , service deliveryapplication 110 on completion of processing at block 1101 can proceed to1102. At block 1102, service delivery application 110 can determinewhether a service function extension request has been generated based onthe processing of block 1101. Service delivery application 110 candetect a service function extension request in response to examinationof application data with reference to criterion data of service template114 that specifies criterion for detection of a service functionextension request. The examined application data can include userdefined data. For each external service function specified in servicetemplate 114, service delivery application 110 can record in servicetemplate 114 criterion data which when satisfied results in a serviceextension request for the external function being detected. Servicedelivery application 110 can register a service function extensionrequest when examination of application data indicates that thespecified criterion for the external service function has been satisfiedto result in the service template 114 as shown in Table A being updatedto reflect the active status for the service function.

Service delivery application 110 can iteratively update service template114 based on examination of application data including user defineddata. The user defined data with reference to the described example caninclude, e.g., the input phone number input by user at block 1201 and aswill be explained more fully herein can also include other user defineddata, e.g., voice data of a user.

Service delivery application 110 can iteratively perform the loop ofblocks 1101 and 1102 until a service function extension request isidentified at block 1102. The processing at 1101 can include processingof application data including most recently input data of a user. Asshown in Table A, service template 114 can specify various servicefunctions such as number analysis, current region end point, externalregion routing, level one security, level two security, and level threesecurity. Number analysis and current region end point determination canbe specified as being service functions of the one or more nativeprocess 111 while remaining functions can be external functions to beperformed by an external service capability application.

As noted, service template 114, as shown in Table A, can also specifythe active or inactive state of the service function. The state can betransitioned from inactive to active when the request for the servicefunction is identified by the performance of service request monitoringprocess 112. With reference to the described example of Table A, servicedelivery application 110 at block 1102 can, on performing of a numberanalysis of an entered phone number, determine that external regionrouting is required (service function A001 of Table A) to update theexternal region routing service function to active. Service deliveryapplication 110 at block 1102 can register the decision that externalregion routing is required as a service function extension request.

On the identification of the external service function request at block1102, service delivery application 110 can proceed to block 1103 toquery ledger data structure 120 and at block 1104 can perform processingto identify a suitable service capability application for performance ofa service function using retuned query data and criterion data ofcapability template 115. Capability template 115 as shown in FIG. 4which can be stored in data repository 108 can store criterion dataspecifying one or more criterion for performance of the external servicefunctions specified in a service template 114 as shown in FIG. 4 andTable A. Capability template 115 having criterion data specifying one ormore criterion for respective external service functions associated toservice delivery application 110 can be pre-stored in data repository108. Providing pre-stored capability template 115 can avoid a need togenerate criterion data associated to an identified service functionextension request during runtime processing of service deliveryapplication 110.

Prior to block 1104 at block 3001, enterprise systems 30A-30Z associatedto different enterprises can be sending ledger data to specify newcapabilities entries into ledger data structure 120 in a capabilityledger thereof. Enterprise systems can be sending ledger data, e.g., byautomated processed or by the actions based on user defined data definedby agent users associated to such enterprises. The enterprise entitiessending ledger data associated to service capability applications forhosting on MEC platform 100 of computing environment 12B can beenterprises other than edge enterprises and in some use cases can beedge enterprises that wish to expand hosting of their developed servicecapability applications.

For performance of service extension process 113, service deliveryapplication 110 can perform blocks 1103 to 1107 as set forth herein. Atblock 1103, service delivery application 110 can send query data forquerying ledger data structure 120. The query data sent by servicedelivery application 110 at block 1103 can include query data forquerying ledger data structure 120 to determine whether there isspecified in ledger data structure 120 a capabilities record in acapability ledger of ledger data structure 120 that satisfies one ormore criterion specified in capability template 115. Capability template115 can store criterion data specifying one or more criterion forperformance of the external service functions specified in a servicetemplate 114 as shown in FIG. 4 . Service delivery application 110 atblock 1104 can process the data returned from the ledger state structurequery at block 1103 with criterion data specified in capability template115 to determine whether there is an existing service capabilityapplication specified in ledger data structure 120 suitable forperformance of the service function extension request identified atblock 1102. At processing block 1104, service delivery application 110can examine criterion data of capability template 115 in order todetermine one or more criterion associated to a service functionidentified at block 1102. Service delivery application 110 at block 1104can examine criterion data specified in capability template 115 andcapabilities data of a capability ledger of ledger data structure 120 toidentify a service capability application of service capabilityapplications 140A-140Z suitable for performance of the service function.

On completion of block 1104, service delivery application 110 canproceed to block 1105. At block 1105, service delivery application 110can determine whether a suitable service capability application suitablefor performance of the service function extension request detected atblock 1102 has been identified at block 1104. In one example, servicedelivery application 110 at block 1105 determines that servicecapability application 140A hosted on MEC platform 100 of computingenvironment 12B has been identified as a suitable service capabilityapplication. If service delivery application 110 at block 1105determines that a suitable service capability application has beenidentified, service delivery application 110 can jump to block 1107 tojoin the identified service capability application into service deliveryapplication 110.

However, if no qualifying service capability application is identifiedat block 1105, service delivery application 110 can proceed to block1106. At block 1106 service delivery application 110 can send demanddata to write demand data defining a demand for entry into a demandledger of ledger data structure 120.

The demand data can specify a demand in accordance with the criteriondata of capability template 115 for the identified service functionidentified at block 1102. The demand data can specify certain timingrequirements for satisfaction of the demand The providing of pre-storedcapability template 115 can facilitate the writing of the demand data toledger data structure 120 without processing delay for the generation ofdemand data.

Embodiments herein recognize that writing demand data at block 1106 to ademand ledger of ledger data structure 120 can increase the likelihoodof a suitable service capability application being identified. Forexample, MEC environment 10 can be configured so that enterpriseentities associated to enterprise systems 30A-30Z can be monitoringledger data structure 120 with use of automated processes and can bewriting new capabilities data to ledger data structure 120 definingentries for new or updated service capability applications responsivelyto the newly written demand data.

On completion of send block 1107 to write demand data to ledger datastructure 120, service delivery application 110 can return to block 1103to send additional query data to ledger data structure 120 to determineif additional entries have been added to a capability ledger of ledgerdata structure 120 in response to the demand data written at block 1106.Ledger data structure 120 can send return data to service deliveryapplication 110 at block 1201, and at block 1104 service deliveryapplication 110 can perform another iteration of processing block 1104using capabilities data of ledger data structure 120 and criterion dataof capability template 115 in order to identify a suitable servicecapability application for performing the identified service extensionrequest identified at block 1102. Service delivery application 110 caniteratively perform the loop of block 1113-1116 until a suitable servicecapability application is identified.

On the determination that a suitable service capability application hasbeen identified at block 1105, service delivery application 110 canproceed to block 1107. At block 1107, service delivery application 110can join the identified service capability application determined to beidentified at block 1105. Joining of a service capability applicationcan include sending join communications. At blocks 1107 and 1401,service delivery application 110 can send join communications to jointhe identified service capability application identified by theprocessing of block 1104, and the identified service capabilityapplication can send return join communications. The join communicationsfrom service delivery application 110 of MEC platform 100 of computingenvironment 12A can be sent to MEC platform 100 of computing environment12B where the identified service capability application is located. Theservice delivery application 110 and the identified service capabilityapplication joined to a service delivery application can communicatewith one another through appropriate application programming interfaces(APIs). Join communications can include messages provided by processingrequests from service delivery application 110 to an identified servicecapability application and return data.

Hosting of service capability applications 140A-140Z can include runningof service capability applications 140A-140Z on one or more computingnode of MEC platform 100 of computing environment B. Hosting of servicecapability applications 140A-140Z can additionally or alternativelyinclude storing in a storage memory of MEC platform 100 program imagesthat can be instantiated to activate runtime instances of servicecapability applications 140A-140Z. According to one scenario, images ofthe program images can be instantiated locally on MEC platform 100 ofcomputing environment 12B. In another scenario, images of the programimages can be pulled by service delivery application 110 running in MECplatform 100 for instantiation on MEC platform 100 of computingenvironment 12A. According to such a scenario, join communications atblocks 1107 and 1401 can include join communications so that a programimage for instantiation of a runtime instance of a service capabilityapplication is pulled to MEC platform 100 of computing environment 12A.A program image can include a program image to instantiate a virtualmachine for running a service capability application. A virtual machinecan include, e.g., hypervisor-based virtual machine or a container-basedvirtual machine.

In the described embodiment, the identified service capabilityapplication satisfying an identified external service function ofservice delivery application can be hosted on MEC platform 100 ofcomputing environment 12B, but based on the data of the ledger datastructure 120 could have easily been located on another MEC platformwithin MEC environment 10 as shown in FIG. 2 .

In the described example, the identified external service function A001can be an external service function for external region routing and aservice capability application located on MEC platform 100 of computingenvironment 12B has been identified as a service capability applicationcapable of performing the identified service function. In the describedembodiment, the identified service capability application 140A of MECplatform 100 of computing environment 10B, by the depicted joincommunications, can send external region routing data to servicedelivery application 110. Service delivery application 110 in turn canuse the external region routing data for identification of a path to thecall recipient at another UE device and at block 1108 can send userdefined data of the other user, e.g., voice data, to UE device 20A. Atblock 1109, service delivery application 110 can return to a processingstage prior to processing block 1101.

Continuing with the phone call example, service delivery application 110can be iteratively performing the loop of blocks 1101-1109 until thephone call is terminated. For performance of service request monitoringprocess 112, service delivery application 110 can be monitoring voicedata of the user of UE device 20A or the other user receiving the callthrough the phone call session. Service delivery application 110 can beprocessing voice data using speech to text conversion and can subjectthe text to natural language processing to identify topics specifiedwithin the voice data. The topics can include general topics and/orspecific topics such as keyword topics.

It has been described that service delivery application 110 runningservice request monitoring process 112 can include service deliveryapplication 110 performing number analysis to determine that externalregion routing is required. In another example, service deliveryapplication 110 running service request monitoring process 112 caninclude service delivery application 110 monitoring application data fortopics that can trigger an increased security level associated to theconversation. The monitoring can include converting speech to text usingspeech to text conversion and subjecting converted text to naturallanguage processing for topic extraction. In one example, if sensitivetopics such as investments or healthcare are detected, a security levelassociated to the conversation might be increased by service deliveryapplication 110. Referring to service template 114 described inreference to Table A, service delivery application 110 can activatesecurity level 2 or security level 3 (Rows 6 and 7) depending on topicsidentified dynamically during the phone call session. Security level 2can be associated to security features that are increased relative tosecurity level 1 and security level 3 can be associated to securityfeatures increased relative to security level 2. Using a mappingdecision data structure stored in data repository 108 of MEC platform100 of computing environment 12A, different topics can be mapped todifferent service function extension requests mapping to differentsecurity levels. For example, topics relating to sports andentertainment can map to security level 1. Topics relating to householdpurchases can map to security level 2, and topics relating toinvestments and personal healthcare can map to security level 3.

In the performance of the loop of blocks 1101 to 1109, service deliveryapplication 110 at block 1102 dynamically, in dependence on topicsextracted from voice conversation data, can determine that a servicefunction extension request has been detected based on a topic flow of acurrent conversation. Responsively to the detection of a servicefunction extension request in the manner described previously inreference to blocks 1103 to 1109, service delivery application 110 canquery ledger data structure 120 and/or launch a demand entry on a demandledger of ledger data structure 120 so that a qualifying servicecapability application can be identified.

On the identification of a suitable service capability application atprocessing block 1104 capable of performing the specified servicefunction, e.g., associated with service security level 2 or securitylevel 3, service delivery application 110 can send join communicationsto the identified service capability application, e.g., servicecapability application 140Z located on MEC platform 100 of computingenvironment 12B (the qualifying service capability application couldalternatively be on another computing environment). The identifiedservice capability application can send reciprocal join communications(block 1401) to service delivery application 110 so that the identifiedservice capability application is joined to the service deliveryapplication 110. At send block 1108, service delivery application 110can continue to send other user voice data to UE device 20A which hasbeen processed using the security processing functions of servicecapability application 140Z.

Continuing with the example of a voice call described with reference tothe flowchart of FIG. 3 , service delivery application 110 runningservice request monitoring process 112 can detect whether a servicefunction extension request has been detected to transition the currentvoice call into a video conference call. For such functionality, servicetemplate 114 as shown in Table A can include Row 7 specifying theexternal service function of a video conference. For determining whetherto transition a current voice call into a video conference, servicedelivery application 110 can monitor, with reference to criterion datafor detection of a video conference service function extension request,return data extracted from voice conversation data with use of naturallanguage processing of voice data converted into text data by a speechto text converter.

Service delivery application 110 can identify at block 1102 that aservice function request has been received on the detection of topicsincluding key word-based topics that indicate that transitioning to avideo conference call can improve the quality of communication betweenparticipant users of the current voice call. Example topics can includetopics that indicate that an object having certain visible physicalcharacteristics is being described. Keyword topics can include keywordtopics such as “show” and “demonstrate” and “looks like”. On thedetection of a transition to video conference, service deliveryapplication 110 can update the video voice call service feature ofservice template 114 of Table A to active, proceed to block 1102 toaccess data from ledger data structure 120, and perform processing block1104 to examine returned ledger data specifying capabilities data ofservice capability applications to capability template data ofcapability template 115 specifying one or more criterion for performanceof the video conference call service function.

Service delivery application 110 can perform blocks 1104 to 1108 in themanner described previously initially to search for qualifying servicecapability applications amongst participating MEC platforms 100 and ofMEC environment 10 as shown in FIG. 2 . If, on the condition that noqualifying service capability application is identified during aninitial query of capabilities data of ledger data structure 120, servicedelivery application 110, to encourage additional capabilities dataentry into ledger data structure 120, can proceed to write demand datadefining a demand ledger entry to ledger data structure 120 in order toregister a demand for a service capability application for providing thevideo voice function. In the described scenario, service deliveryapplication 110 can identify the qualifying service capabilityapplication as service capability application 140A of MEC platform 100within computing environment 12A, i.e., in the described scenario, theservice capability application 140A of computing environment 12A can becollocated on the common MEC platform 100 with service deliveryapplication 110 within computing environment 12A. As described in in oneembodiment, MEC platform 100 of computing environment 12A can be amulti-tenancy MEC platform of an edge enterprise entity that permitshosting of service capability applications developed by enterpriseentities other than the edge enterprise entity owning, operating, and/orcontrolling MEC platform 100 of computing environment 12A.

In another scenario, the identified service capability application forproviding the video voice call function can be located on MEC platform100 external to MEC platform 100 within computing environment 12Ahosting service delivery application 110, e.g., can be on MEC platform100 of a computing environment within an edge network associated to anedge entity other that the edge entity that owns, operates, and/orcontrols MEC platform 100 of computing environment 12A.

In the described scenario where the service capability application forproviding the video voice call functionality is located in an edgenetwork of an edge enterprise entity other than the edge enterpriseentity of MEC platform 100 hosting service delivery application 110,interfacing functionality with the user of UE device 20A for the videoconference call portion of the call session can be handed off to the MECplatform 100 of the different edge network 500 with application statusdata returned to service delivery application 110 for monitoring. Whenthe conditions giving rise to the preference for video conference callare no longer prevailing, interfacing control of the call session can bereturned to MEC platform 100 of computing environment 12A hostingservice delivery application 110.

In the described scenario where the service capability application is aservice capability application for providing video conference callfunctionality, the service capability application can be located on aMEC platform 100 closer to the edge end at UE device 20A than computingenvironment 12A. For example, where computing environment 12A is locatedwithin fronthaul/backhaul network 1200-1 as shown in FIG. 2 , theservice capability application for providing the video conference callfunctionality can conceivably be provided by MEC platform 100 at basestation location AB within wireless network 1100-3 shown in FIG. 2 ,i.e., within edge infrastructure owned, operated, and/or controlled byan edge enterprise entity other than the edge enterprise entityproviding MEC platform 100 at location BA.

Another embodiment in which the service delivery application 110communicates with a service capability application hosted closer to anedge end at UE device 10A than service delivery application 110 isdescribed in connection with FIG. 5 and the flowchart of FIG. 6 .

In the use case depicted in FIG. 5 , service delivery application 110can be hosted on MEC platform 100 of computing environment 14B and canjoin with a service capability application 140A hosted on MEC platform100 of computing environment 14A. According to one embodiment, withreference to the use case of FIGS. 5 and 6 , computing environment 14Ahosting joined service capability application 140A can be located closerto the edge end at UE device 20A than computing environment 14B hostingand running service delivery application 110, and computing environment14B can be farther from the edge end than computing environment 14A.

Computing environment 14A can be provided, for example, by a computingenvironment of edge enterprise entity network 1000 of the edgeenterprise entity associated to wireless network 1100-1,fronthaul/backhaul network 1200-1, and core network 1300-1. In aparticular example with reference to FIG. 2 , MEC platform 100 ofcomputing environment 14B, hosting service delivery application 110 canbe provided by MEC platform 100 at location D2 within data network 2000,and MEC platform 100 of computing environment 14A hosting joined servicecapability application 140A of computing environment 14A can be providedby MEC platform 100 at location BB within fronthaul/backhaul network1200-2.

In the described embodiment of FIG. 5 and FIG. 6 , UE device 20Ainitially can communicate and interface with MEC platform 100 ofcomputing environment 14B, and, dynamically during a communicationsession interfacing control for providing interfacing to an end user,can be transitioned to MEC platform 100 of computing environment 14A. Inthe described scenario, computing environment 14B can be provided bydata network 2000. In one scenario, MEC platform 100 of computingenvironment 12B can be MEC platform 100 at location D2 of data network2000 (FIG. 2 ).

FIG. 6 is a flowchart illustrating a method for use with the MECenvironment 10 depicted in FIG. 5 . In the described scenario of theflowchart of FIG. 6 , service delivery application 110 running on MECplatform 100 of computing environment 14B provided by data network 2000can be running a chatbot application in which user of UE device 20A canbe provided with chatbot-based customer service port displayed as adisplayed user interface on a display of UE device 20A.

Service delivery application 110 can run native process 111 to providechatbot service functioning, as well as service request monitoringprocess 112, and service extension process 113. Service deliveryapplication 110 running native process 111 can include service deliveryapplication 110 providing baseline chatbot services in which servicedelivery application using a variety of decision trees can examine textdefined by user to determine topics and sentiments therefrom usingnatural language processing and, based on extracted topics andsentiment, can provide returned chatbot text to the user. Servicedelivery application 110 running service request monitoring process 112can monitor the current communication session for data indicating that aservice function extension defined by a transition to a high-resolutionvideo presentation has been requested.

For such processing, service delivery application 110 can subject userdefined text of a chatbot session to natural language processing toextract topics therefrom including topics mapping keyword topics.Service delivery application 110 can monitor for certain topicsindicating a request for a video presentation, e.g., extracted topicssuch as “video presentation,” “training video,” and the like. Servicedelivery application 110 can employ an associated service template 114,capability template 115, and regulatory end node process 116 asexplained with reference to FIG. 4 . Service template 114 associated tothe described service delivery application 110 referenced in FIG. 5 canbe provided as shown in Table B.

TABLE B Service Service Row function ID function Active/InactiveNative/External 1 B001 Chatbot Active Native 2 B002 High XX Externalresolution video

Service delivery application 110, as described in the use case of FIGS.5 and 6 , can include a chatbot function as a native service function ofservice delivery application 110. Service delivery application 110,according to service template 114, can include the external servicefunction of high-resolution video presentation. In the describedscenario, service delivery application 110 can be augmented with adynamically triggered high-resolution video presentation function basedon one or more criterion being satisfied. Service template 114 can storecriterion data associated to the high-resolution video presentationservice function that specifies one or more criterion for detection of ahigh-resolution video presentation service function extension request.In another aspect, the high-resolution video presentation function, forreduced latency, can be advantageously hosted on MEC platform 100disposed within an edge network 500, FIG. 2 .

Referring to the flowchart of FIG. 6 , service delivery application 110running on MEC platform 100 of computing environment 14B at block 1111can be performing various processing including sending chatbot text datain response to the user defined text data sent at block 1201. At block1112, service delivery application 110 can determine that a servicefunction request has been generated for transitioning to ahigh-resolution video presentation within the service support session.For a time that the service function request is not identified at block1112, service delivery application 110 can iteratively perform the loopof blocks 1111 and 1112 until the time that service function request isidentified at block 1112. When a service function extension request isidentified at block 1112, service delivery application 110 can proceedto block 1113 for querying capabilities data from ledger data structure120.

At processing block 1114, service delivery application 110 can processthe data returned from the ledger data structure query at block 1113with criterion data specified in capability template 115 to determinewhether there is an existing service capability application specified inledger data structure 120 suitable for performance of the servicefunction extension request identified at block 1112. At block 1115,service delivery application 110 can determine whether based on theprocessing of block 1114 a suitable service capability application forperformance of the service function extension request detected at block1112 has been identified. If service delivery application 110 at block1115 determines that a suitable service capability application has beenidentified, service delivery application 110 can jump to block 1117 tojoin the identified service capability application into service deliveryapplication 110.

However, if no qualifying service capability application is identifiedat block 1115, service delivery application 110 can proceed to block1116. At block 1116, service delivery application 110 can send demanddata to ledger data structure 120 in order to write demand data defininga demand for entry into a demand ledger of ledger data structure 120.

The demand data can specify a demand in accordance with the criteriondata of capability template 115 for the identified service functionidentified at block 1112. The demand data can specify certain timingrequirements for satisfaction of the demand The providing of pre-storedcapability template 115 can facilitate the writing of the demand data toledger data structure 120 without processing delay for the generation ofdemand data.

Embodiments herein recognize that writing demand data at block 1116 to ademand ledger of ledger data structure 120 can increase the likelihoodof a suitable service capability application being identified. Forexample, MEC environment 10 can be configured so that enterpriseentities associated to enterprise systems 30A-30Z can be monitoringledger data structure with use of automated processes and can be writingnew capabilities data defining entries for new or existing servicecapability applications responsively to the newly written demand data.

On completion of send block 1116 to write demand data to ledger datastructure 120, service delivery application 110 can return to block 1113to send additional query data to ledger data structure 120 to determineif an additional entry satisfying the demand data has been added to acapability ledger of ledger data structure 120 in response to the demanddata written at block 1116. Ledger data structure 120 can send returndata to service delivery application at block 1211, and at block 1114,service delivery application 110 can perform another iteration ofprocessing block 1114 using capabilities data of ledger data structure120 and criterion data of capability template 115 in order to identify asuitable service capability application for performing the identifiedservice extension request identified at block 1112. Service deliveryapplication 110 can iteratively perform the loop of blocks 1113-1116until a suitable service capability application is determined to beidentified at block 1115.

On the determination that a suitable service capability application hasbeen identified at block 1115, service delivery application 110 canproceed to block 1117. At block 1117, service delivery application 110can join the identified service capability application determined to beidentified at block 1115. Joining of a service capability applicationcan include sending join communications. At blocks 1117 and 1411,service delivery application 110 can send join communications to jointhe identified service capability application identified by theprocessing of block 1114. The join communications from service deliveryapplication 110 of MEC platform 100 of computing environment 14B can besent to MEC platform 100 of computing environment 14A where theidentified service capability application is located. At blocks 1117 and1411, service delivery application 110 and MEC platform 100 running oncomputing environment 14B can be sending appropriate join communicationsso that service delivery application 110 can join the service capabilityapplication running on MEC platform 100 of computing environment 12Ainto service delivery application 110. The service delivery application110 and the identified service capability application joined to servicedelivery application can communicate with one another throughappropriate application programming interfaces (APIs). Joincommunications can include messages provided by processing requests fromservice delivery application 110 to an identified service capabilityapplication and return data. At return block 1118 on completion of thehigh resolution video session, service delivery application 110 canreturn to a stage prior to block 1111, and can iteratively preform theloop of blocks 1111 and 1112 until a next service function request isdetected at block 1112.

As a result of the join communications at blocks 1117 and 1411 in thedescribed scenario, interfacing to the end user at UE device 20A cantransition for the time of the high-resolution video presentation to MECplatform 100 running in computing environment 14A which servicecapability application can be running the selected service capabilityapplication 140A for providing the high-resolution video presentationfunctionality. At block 1412, MEC platform 100 of computing environment14A in the described scenario of FIGS. 5 and 6 can be sending highresolution video to UE device 20A defining a high-resolution videosession within the communication service support session. In theperformance of the video presentation data, the service capabilityapplication 140A of computing environment 14A providing thehigh-resolution video presentation can be generating status datareturned via the described join communications to service deliveryapplication 110. Service delivery application 110 while iterativelyperforming the loop of blocks 1111 to 1118 can transition the activestatus flag associated to the video presentation within service template114 (Table B) when the high resolution video presentation has ended andservice delivery application 110 can responsively appropriately returnto the loop defined by block 1111 and 1112 to resume the service supportsession via chatbot text functionality.

In the described scenario described with reference to FIG. 5 and FIG. 6, enterprise system 30A-30Z at block 3011 can be sending ledger datadefining capability entries associated to new service capabilityapplications for hosting on various MEC platforms of MEC environment 10as shown in FIG. 2 . In the described scenario described with referenceto FIGS. 5 and 6 , MEC platform 100 located within computing environment14A can be configured to host service capability applications developedby enterprise system 30A-30Z. Enterprise systems 30A-30Z can beassociated to enterprises that include the edge enterprise associated toMEC platform 100, i.e., that owns, operates, and/or controls theinfrastructure defining MEC platform 100 and can include enterprisesother than edge enterprises.

Embodiments herein provide a system and method to allow edge enterpriseentity CSPs to move away from building all communication servicefunctionalities in their network to provide any service feature tosubscriber end users. Embodiments herein recognize that communicationservices are changing rapidly and edge enterprise entity CSPs arefinding it difficult to recover full return on investment before theyinvest further in building new capabilities. Embodiments herein canfacilitate lean edge enterprise entity CSPs. Instead of beingresponsible for end-to-end service functionality, edge enterprise entityCSPs by use of features herein can focus on last mile service deliveryand enhancing customer experience. Embodiments herein can facilitateedge enterprise entity CSPs handing over major parts of service deliveryto external enterprise entities. Embodiments herein can facilitate edgeenterprise entity CSPs handing over major parts of service delivery withuse of examining capabilities data of a ledger data structure and withuse of registering a demand to ledger data structure 120. MECenvironment 10 can work in real time to provide new and innovativeservice capabilities that edge enterprise entity CSPs can use to provideany service demanded by their customer user through use of ledger datastructure 120 which ledger data structure 120 can leverage Blockchaintechnology.

Embodiments herein can enable edge enterprise entity CSPs to provide anylogically relevant service demanded by its subscribers. Embodimentsherein recognize that it can consume substantial time and investment foran edge enterprise entity CSP to build a new service and thereforeeither subscriber user turns to a competitor or remains deprived of anyinnovative service that an edge enterprise entity CSP can natively offeron its network. Embodiments herein provide a distributed capabilityecosystem where any service capability can be hosted, and all hostedcapability services are available to all relevant edge enterprise entityCSPs in free and fair market format through free demand and supply.Moreover, an enterprise entity other than an edge enterprise entity thathas a communication service idea can build the capability and host aservice capability application on any available MEC platform 100.

The hosting of a service capability application emulates hosting awebsite or portal on a webserver. Once a service capability applicationis hosted successfully on a MEC platform 100, then its capabilities canbe used from any part of the world and any edge enterprise entity CSPcan offer the new service incorporating the service functions of theservice capability application in near real time.

Embodiments herein recognize that traditionally, edge enterprise entityCSPs consume high investment to build capabilities that consumesignificant time and effort. Accordingly, participating in delivery ofservices to end users can be substantially limited to enterpriseentities that can arrange a large amount of investment. It creates amajor disadvantage for edge enterprise entity CSPs that have littleinvestment capacity but viable service ideas. Embodiments herein breakthis barrier by allowing anyone to consume any capability that isoffered as a service or API enabled application in a MEC capabilitynetwork. Embodiments herein can employ a ledger data structure, e.g.,Blockchain and MEC to provide a new approach for communication servicedelivery.

Embodiments herein recognize that communication networks have seen rapidevolution from overhead galvanized iron wire-based service delivery toultra-high bandwidth mobile network. Embodiments herein can providedynamic, shared and agile service delivery. Embodiments herein cancreate an ecosystem of connected capabilities that can deliver any typeof service on demand basis through collective efforts from all actors.Embodiments herein provide a mechanism to enable complete communicationservice in efficient manner through stitching micro/macro servicesoffered by individual MEC platform-based applications in independent andautonomous fashion.

Embodiments herein can employ a shared ledger data structure to sharethe decision-making attributes and fulfil accounting needs. MECplatform-based applications offer any capability or group ofcapabilities that is relevant for a communication service. Enterpriseentities providing MEC platform-based applications can share thecapability information, cost of capability, demand and capacity,availability, quality parameters, security compliance and operatingcharacteristics with each other through a capability ledger of ledgerdata structure 120.

In one aspect, a capability ledger of ledger data structure 120 caninclude a supply ledger where enterprise entities providing servicecapability applications can advertise availability of capabilities thatthey offer. Ledger data structure 120 can include a demand ledger thatfloats in network and has information about demand for a capability.When a service function extension request is initiated, the demandledger can capture the request and share the request with all MECplatforms 100 of MEC environment 10. A MEC platform-based applicationthat is most suitable then captures the demand request and fulfils.

Ledger data structure 120 can include a financial ledger that can beupdated with each successful demand fulfilment. The financial ledger canalleviate innovative and creative service owners from providing directcontract/relationship with communication service providers.

Enterprise entities including enterprise entities other than edgeenterprise entities can expose capability in distributed ecosystem aftersecurity, privacy, data and inter-operability validation thoughstandardized APIs/services. MEC environment 10 can be configured to: (a)work in a distributed architecture; (b) implement and publishcapabilities in the form of a service; (c) expose capability through astandardized API/service; (d) consume capabilities offered by other MECplatform based applications in distributed architecture throughstandardized API/service; (e) adopt Standardized architecture and workon common principles of co-existence; and (f) obtain certification forsecurity, privacy and accuracy.

It has been described with reference to FIGS. 1-6 that service deliveryapplication 110 can dynamically, during runtime of the service deliveryapplication, detect service function extension requests via processingof application data and can, in response to the examination of theapplication data, identify and join one or more service capabilityapplication to the service delivery application for providing therequested service function extension request.

In other use cases, service delivery application 110 can be configuredso that one or more service capability application is joined to aservice delivery application prior to runtime of the service deliveryapplication. According to one embodiment, service delivery application110 can be configured so that one or more service capability applicationjoined to the service delivery application can be joined prior toruntime of the service delivery application.

According to one embodiment, a MEC platform 100 hosting service deliveryapplication 110 can be configured to predict one or more servicecapability application to be joined to a service delivery applicationprior to runtime of the service delivery application and canresponsively join one or more service capability application to theservice delivery application prior to runtime of the service deliveryapplication. FIG. 7 illustrates predictive model 3002 for predicting aset of activated service functions and therefore a set of servicecapability applications to be associated to a service deliveryapplication prior to runtime of the service delivery application.Predicting a set of activated service functions associated to a servicedelivery application prior to runtime can facilitate joining a set ofservice capability applications to the service delivery applicationprior to runtime of the service delivery application. Joining a servicecapability application to a service delivery application prior toruntime of the service delivery application can increase response timeof the service delivery application.

Referring to FIG. 7 , predictive model 3002 can be trained with trainingdata and once trained with training data can be responsive to querydata. Predictive model 3002 can be trained with use of iterativelyapplied training datasets. Each training dataset for training predictivemodel 3002 can include (a) a set of activated service functionsassociated to an historical session of a certain service deliveryapplication; (b) a region classification for the historical session of(a); and (c) a time classification for the session of (a). Embodimentsherein recognize that by training predictive model 3002 with trainingdatasets that specify a set of activated service functions associated toprior sessions of a certain service delivery application together with aregion classification and time classification, predictive model 3002 canlearn the relationship between a region, a time, and a set of activatedservice functions for a certain service delivery application.

Predictive model 3002, once trained, can be responsive to query data.Query data for querying predictive model 3002 can include the dataset of(i) region classification, in combination with (ii) time classification.Predictive model 3002, in response to the applied query data, can outputa prediction that specifies a predicted set of activated servicefunctions, prior to runtime, of a certain service delivery application.A MEC platform 100 hosting the certain service delivery application canquery predictive model 3002 in order to ascertain a predicted set ofactivated service functions associated to a service deliveryapplication. The MEC platform 100 prior to runtime of the certainservice delivery application can identify with use of ledger datastructure 120 and processes described in connection with FIGS. 3 and 5suitable service capability applications associated with a predicted setof activated service functions and can join the identified servicecapability applications to the service delivery application prior toruntime. Joining an identified suitable service capability applicationto a service delivery application prior to runtime can include updatingcapability template 115 of service delivery application 110 to include areference to the identified service capability application registered inledger data structure 120. Service delivery application 110 can use theservice capability reference in the capability template to send joincommunications to the identified service capability application inruntime.

Referring to predictive model 3004, embodiments herein recognize thatresponse time of a service delivery application 110 can be improvedwhere MEC platform 100 hosting the service delivery application 110 canpredict service function extension requests prior to the time that theyoccur and proactively identify a service capability applicationassociated to a predicted service function extension request. Predictingof service function extension requests permits proactive joining ofservice capability applications and reduced latency.

With use of predictive model 3004, MEC platform 100 hosting a certainservice delivery application 110 can predict during runtime of theservice delivery application 110 a service function extension requestand can proactively join a service capability application in response tothe predicting the service function extension request.

Embodiments herein recognize that service functions that are activatedduring runtime of a certain service delivery application can bepredicted using historical data that defines trends in usage of aservice delivery application. For example, using historical trend data,it might be determined, e.g., that a second service function is likelyto be activated if a first service function has been previouslyactivated. Further, according to a detected trend, it might bedetermined, e.g., that a third service function is likely to beactivated if and when the first and second service functions have beenpreviously activated.

Predictive model 3004 shown in FIG. 8 can be trained to predict servicefunction activation trends based on prior service function activationswithin a runtime session of a service delivery application. Predictivemodel 3004 can be trained with training data and once trained can beresponsive to query data. Training data for training predictive model3004 can include iteratively applied training datasets, each trainingdataset associated to a certain historical runtime session. According toone embodiment, a training dataset for training predictive model 3004can include (a) identifiers for prior in-session service functionrequests; (b) identifiers for subsequent in-session service functionrequests; and (c) user data. Thus, a training dataset for a priorhistorical session in which service functions C, J, and A were activatedin that order can include the following: training=[0,CJA;C,JA;CJ,A]. Theuser data for training predictive model 3004 can include e.g., a useridentifier or user classification, e.g., based on detected currentsentiment of the user as may be determined by natural languageprocessing and/or professional classification of the user. Predictivemodel 3004, once trained, can be responsive to query data. Query datafor querying predictive model 3004 can include the combination of (i) aset of prior in-session service function requests for the currentsession in combination with (ii) user data for the user in the currentsession. Predictive model 3004, when queried with the described querydata can output a predicted set of subsequent activated servicefunctions for the current session.

During runtime of a certain currently running service deliveryapplication, MEC platform 100 running the certain currently runningservice delivery application can iteratively query predictive model 3004in order to return predictions as to subsequent service functionspredicted to be activated during the current session. Configured asdescribed, MEC platform 100 hosting the current service deliveryapplication can proactively join a service delivery application inresponse to a returned prediction predicting that the certain servicefunction is likely to be activated during a current session associatedto a running service delivery application. Thus, at the time ofactivation of a certain service function, a service capabilityapplication for performing the service function can have already beenidentified and joined to a currently running service deliveryapplication. According to one embodiment, the decision to proactivelyjoin a certain service capability application to a certain servicedelivery application can be filtered based on additional factors inaddition to the predicted likelihood that the service delivery functionwill be activated.

Various available tools, libraries, and/or services can be utilized forimplementation of predictive model 3002 and/or predictive model 3004.For example, a machine learning service can provide access to librariesand executable code for support of machine learning functions. A machinelearning service can provide access set of REST APIs that can be calledfrom any programming language and that permit the integration ofpredictive analytics into any application. Enabled REST APIs canprovide, e.g., retrieval of metadata for a given predictive model,deployment of models and management of deployed models, onlinedeployment, scoring, batch deployment, stream deployment, monitoring andretraining deployed models. According to one possible implementation, amachine learning service provided by IBM® WATSON® can provide access tolibraries of APACHE ® SPARK® and IBM® SPSS® (IBM® WATSON® and SPSS® areregistered trademarks of International Business Machines Corporation andAPACHE® and SPARK® are registered trademarks of the Apache SoftwareFoundation. A machine learning service provided by IBM® WATSON® canprovide access to a set of REST APIs that can be called from anyprogramming language and that permit the integration of predictiveanalytics into any application. Enabled REST APIs can provide, e.g.,retrieval of metadata for a given predictive model, deployment of modelsand management of deployed models, online deployment, scoring, batchdeployment, stream deployment, monitoring and retraining deployedmodels. Predictive model 3002 and predictive model 3004 can employ useof, e.g., neural networks (NN), support vector machines (SVM), Bayesiannetworks, linear regression, Holt-Winter, ARIMA, Fourier curve fitting,random forest, and/or other machine learning technologies.

MEC platform 100 hosting a service delivery application can apply Eq. 1for determining whether to proactively join a certain service capabilityapplication associated to a predicted service function predicted to beactivated.

S=F1W1+F2W2+F3W3   (Eq. 1)

Referring to Eq. 1, factors F1, F2, and F3 can be first, second andthird factors associated to a decision to proactively join a certainservice capability application, W1, W2, and W3 are weights associated tothe factors F1, F2, and F3 and S is an overall scoring value based onthe various factors and weights. The factor F1 can be the predictedlikelihood factor, i.e., the returned likelihood returned frompredictive model 3002 or predictive model 3004 indicating the likelihoodthat a certain service function will be activated during a runtimesession associated to a certain service delivery application. Predictivemodel 3002 and predictive model 3004 can be configured to output withtheir prediction confidence levels indicating a likelihood that acertain service function will be activated. With further reference toEq. 1, factor F2 can be an availability factor. MEC platform 100 hostinga certain service delivery application can assign scoring values underfactor F1 for an identified service capability application in proportionto the predicted likelihood that its associated service function will beactivated. MEC platform 100 hosting a certain service deliveryapplication in response to a returned prediction that a certain servicefunction will be activated can query ledger data structure 120 todetermine a level of availability associated to a certain servicecapability application. MEC platform 100 hosting a certain servicedelivery application can assign scoring values under factor F2 independence on the expected availability of a certain service capabilityapplication. Factor F3 can be a cost factor. MEC platform 100 hosting acertain service delivery application can examine data of ledger datastructure 120 to determine an expected cost associated to an identifiedservice capability application and can assign scoring values underfactor F3 in dependence on the returned cost. MEC platform 100 hosting acertain service delivery application can score certain identifiedservice capability applications using Eq. 1 and can decide to join theidentified service capability application based on the scoring valueexceeding a threshold, e.g., a predetermined or dynamically determinedthreshold. Joining an identified service capability application, caninclude, e.g., adding a reference to the identified service capabilityapplication in capability template 115, and/or sending joincommunications as set forth herein.

A schematic diagram of MEC environment 10 from the perspective of edgeenterprise entity is shown in FIG. 9 . Edge enterprise entity CSPs canbe part of MEC environment 10 defined by a distributed ecosystem byproviding MEC services at its network edge or can consume services fromdifferent MEC providers. Edge enterprise entity CSPs may have their ownMEC platform for few services or capabilities. Edge enterprise entityCSPs may also offer these MEC capabilities to other edge enterpriseentity CSPs similarly as any other MEC provider.

MEC environment 10 can provide an integrated global ecosystem of MECcapability providers and MEC platform providers. In one scenario therecan be a relatively few MEC platform providers with a relatively largenumber of MEC capability providers. MEC platform providers and MECcapability providers can be interconnected in the form of a mesh andexchange ledger data using ledger data structure 120. The ecosystemdefined by MEC environment 10 herein can be regarded as a capabilitychain and it can follow the same working principle of a distributedledger as in Blockchain. MEC capabilities (as applications) can behosted and managed in MEC platforms 100. An edge enterprise entity CSPherein may be ultra-lean by providing only edge infrastructure, e.g.,RANs within minimal services extensible by the architecture herein ormay be a traditional edge enterprise entity CSP that builds almost allneeded functionality or anything in between.

As indicated by the diagram of FIG. 10 , MEC environment 10 canfacilitate different levels of participation by edge enterprise CSPs.MEC environment 10 can include traditional edge enterprise entity CSPs.Traditional edge enterprise CSPs can build all infrastructure on its ownor through a sub-contractor. MEC environment 10 can include moderateedge enterprise entities. Moderate edge enterprise entity CSPs can buildsome infrastructure on its own but for remaining capabilities, itbecomes part of a MEC capability eco-system and joins service capabilityapplications provided by external enterprise entities includingenterprise entities other that edge enterprise entities. A moderate edgeenterprise entity CSP may retain such capabilities as a serviceorchestration capability, service assurance capabilities, a direct linkwith other edge enterprise entity CSPs for service porting, orend-to-end encryption. MEC environment 10 can include ultra-lean edgeenterprise entity CSPs. An ultra-lean edge enterprise can own, operate,and/or control an edge network defined by a RAN, operate its owninfrastructure, and build services by joining capabilities from externalMEC capability providers. Hence, it is a complete edge enterprise entityCSP that does not incur extensive investment to build capability.Instead it takes them from other capability providers as per need.

Referring to FIG. 11 , MEC environment 10 can be defined by adistributed MEC Ecosystem. MEC environment 10 can include multiple MECplatforms which can be connected to each other in the form of mesh andring according to one embodiment. Each MEC platform 100 can hostmultiple MEC applications which provide MEC capabilities and therespective MEC platforms 100 can publish the capabilities in MECcapability ledger of ledger data structure 120 shared between MECplatforms 100. A MEC platform 100 can host MEC application and canestablish connectivity with other MEC platforms 100. MEC applicationscan include MEC service delivery applications and/or MEC servicecapability applications. A MEC service delivery application can join aMEC capability application to extend service functioning of the MECservice delivery application. MEC platforms 100 can be configured toprovide updating and sharing of a MEC capability ledger of MEC ledgerdata structure 120. MEC platforms 100 can provide minor functionality toregulate and control information in a capability chain.

MEC environment 10 can be configured so that MEC platforms 100 can begraded based on quality of service, compliance to security and privacy,geographical location, and past performance. MEC service capabilityapplications can be developed and hosted to provide one or morecapability. Any MEC service capability application owner can choosebetween MEC platforms 100 to host its MEC application and expose MECcapability. MEC platforms and applications can be connected with eachother in the form of mesh and ring. All ledgers of ledger data structure120 can flow on this connectivity.

Referring again to FIG. 2 , the diagram provides an overview ofco-working between edge enterprise entity CSPs and MEC ecosystem where aMEC service capability application may be owned by CSP, or by anindependent MEC capability provider. The independent MEC capabilityprovider can be an enterprise entity other than an edge enterpriseentity. In some use cases, the independent MEC capability provider canbe an industry vertical solution provider. Referring to FIG. 2 , MECplatforms 100 can be included within an edge enterprise entity networkand in some use cases can be defined by infrastructure within a RAN. Insome use cases, MEC platforms 100 can be defined within a wirelessnetwork at a far edge of a MEC environment, e.g., a MEC platform 100 canbe provided by a base station as indicated by locations AA, AB, AC,e.g., a gNodeB base station for reduced latency and fast response. MECplatforms 100, e.g., at locations BA, BB, BC can be located within afronthaul portion, backhaul portion, or interface portion of afronthaul/backhaul network, but not far from a wireless network. In oneembodiment, MEC platforms 100 within an edge network 500 provided by aRAN can host low latency service capability applications, e.g., IOT dataprocessing, video conferencing, content delivery, location services, andthe like. A certain edge enterprise that hosts an edge capabilityapplication on its own MEC platform can make the edge capabilityapplication available for consumption by service delivery applicationsof itself or other edge enterprises, or of edge enterprise entities thatare not edge enterprise entities.

Edge enterprise entities owning, controlling, and/or operating edgeenterprise entity networks can elect to configure their respective MECplatforms 100 as multi-tenancy MEC platforms that host MEC applicationsof entities other than edge entities. Enterprise entities that are notedge entities can host their MEC applications, e.g., on MEC platforms100 configured as multi-tenancy MEC platforms within an edge enterprisenetwork or on MEC platforms 100 at a location of locations D1-DZ of datanetwork 2000.

MEC service capability applications hosted within MEC environment 10including within data network 2000 can be available for consumption byany edge enterprise entity of MEC environment, any enterprise entitythat is not an edge enterprise entity, or any end user that participatesin MEC environment 10.

Enterprise entities that develop and host MEC applications, such as MECservice delivery applications and service capability applications caninclude industry vertical enterprise entities that provides industryvertical services specific to a domain, e.g., financial services, IOTservices, agriculture services, smart city services, or another specificdomain.

Additional aspects of ledger data structure 120 are now described.Ledger data structure 120 can include (a) a capability ledger which caninclude a baseline capability ledger and a supply ledger, (b) a demandledger, and (c) an accounting ledger.

An example of a capability ledger of ledger data structure 120 is shownin Table C.

TABLE C Capability Capability MEC Capability Sub- Sub-Sub QoS IDCategory Category Category Max Capacity Region Rating AvailabilityLatency XX XX XX XX XX XX XX XX XX XX

The capability ledger as shown in Table C can record various data for aservice capability application. The data can include, e.g., MEC ID,category data, quality of service (QoS) data, capacity, region,performance rating, availability, and latency.

QoS can refer to overall service quality that can be offered by the MECservice capability application. It can further be divided into moregranular key performance indicators (KPIs). Capacity can refer toaggregate capacity of the capability offered by MEC service capabilityapplication. Region can refer to the geo-political area in which the MECservice capability application can offer service. Availability andlatency can refer to performance parameter values for end-to-endcapability delivery. MEC platform, 100 which hosts the MEC servicecapability application, can update the (QoS) data, capacity, performancerating, availability, and latency performance parameter valuescontinuously with precise performance values. Updates can be provided,e.g., after every service delivery by a MEC service capabilityapplication for a particular service function capability. MEC platformproviders can update shared ledger data structure 120 with most recentparameter values according to an agreed to standard agreed to byparticipants in MEC environment 10.

According to one embodiment, a capability ledger of ledger datastructure 120 can include a supply ledger. An example of a supply ledgeris shown in Table D.

TABLE D Provider MEC Max Avg Min Metric MEC Service AvailabilityAvailable Available for Floor Bid ID 501 ID Capacity Capacity CapacityRating Rate Discount Surcharge Duration XX XX XX XX XX XX XX XX XX XX

The Supply ledger of a configuration ledger as shown in Table D canpermit a MEC service capability application to define additionalparameter values for the service capability application. A supply ledgerof a capability ledger can be shared in a MEC environment using actualsupply values at that instance in time by MEC capability owner. A supplyledger of a capability ledger can operate in the matter of a stockexchange offer table where a capability owner can provide what they canoffer at what rate at the instance of trading time. A supply ledger of acapability ledger can be used to define new offers to end users atcompetitive rates. MEC application owners can be iteratively writing toledger data structure 120 to dynamically adjusting parameter values ofits supply ledger in dependence on a result of examining demand data ofa demand ledger of ledger data structure 120.

In another aspect as set forth herein, ledger data structure 120 caninclude a demand ledger. An example of a demand ledger of ledger datastructure 120 is shown in Table E.

TABLE E Consumer MEC Max Avg Min Metric Max MEC ID Service Demand DemandDemand for Rate QOS Region of Demand 601 ID Capacity Capacity CapacityRating Offered Demand Consumption duration XX XX XX XX XX XX XX XX XX XX

MEC environment 10 can be configured so that MEC service deliveryapplication providers who are MEC capability consumers can write demanddata to a demand ledger of ledger data structure 120 as shown in TableE. In one scenario, demand data of a MEC service delivery applicationprovider can be written responsively to the running of a servicedelivery application and responsively to detection of service functionextension request. An updated demand ledger with current parametervalues can be shared in MEC environment 10 that includes actual demandvalues at that instant by a MEC capability consumer that may be edgeenterprise entity CSP or any other MEC capability consumer. MEC servicecapability providers can respond to demand data by writing to acapability ledger including a supply ledger to adjust one or moreservice capability parameter value in response to the demand data. Thedemand ledger can operate in the manner of a stock exchange Buy tablewhere a capability owner can pick demand at negotiated rate and offercapability at that rate.

Ledger data structure 120 in another aspect can include a financialledger that logs each buy and sell activity. These can be divided intofirst and second parts, i.e., buyer ledger and seller ledger. The buyerand seller ledger can operate in the manner of an originating call datarecord (CDR) and terminating CDR in a typical communication scenario. Anexample of a buyer ledger of an accounting ledger is shown in Fig. F.

TABLE F Metric Duration of Transaction Buyer for Consumption SLA SLARegion of Consumption ID 701 ID Rating Count Rate Contracted ActualAmount Consumption in GMT XX XX XX XX XX XX XX XX XX XX

The buyer ledger can be used to keep record of actual transaction from abuyer's perspective. It can be further augmented with additionalparameter values. An example of a seller ledger of an accounting ledgeris shown in Table G.

TABLE G Metric Duration of Transaction Provider for Consumption SLA SLARegion of Consumption ID 702 MEC ID Rating count Rate Contracted ActualAmount Consumption in GMT XX XX XX XX XX XX XX XX XX XX

The seller ledger of the accounting ledger can be used to keep record ofactual transactions from a seller's perspective. It can be augmentedwith additional parameter values. Service management features of MECenvironment 10 can use accounting ledger features set forth herein.Service management features can be provided in an edge enterprise entityCSP MEC platform within edge network 500.

Referring again to FIG. 4 , MEC environment 10 of edge network 500provided a RAN of an edge enterprise entity as shown. In the describedexample, a MEC platform 100 can be provided by an edge cluster defininga centralized unit (CU) within a fronthaul/backhaul network (FIG. 2 ) ofan edge network provided by a RAN (FIG. 2 ). MEC platform 100 can hostMEC applications including one or more MEC service delivery applicationand/or one or more service capability application.

MEC environment 10 can include UE devices 20A-20Z. UE device 20A-20Z caninclude mobile consumer equipment which are devices that a consumer usercan use to initiate service request towards mobile communicationnetwork. UE device 20A-20Z can include Wi-Fi consumer equipment whichcan include devices that a consumer user can use to initiate servicerequests toward a Wi-Fi access point. The depicted WLAN aggregator canaggregate all traffic from connected Wi-Fi access points and transportsthat aggregated traffic toward a fronthaul/backhaul network. Edgenetwork 500 provided by a RAN can include one or more mobilecommunication node as depicted in FIG. 4 . A mobile communication nodecan include a radio for mobile communication. A mobile communicationnode can include a distribution unit (DU) in some low latency scenarios.Within the depicted RAN of FIG. 4 , distribution units can be connectedto centralized units (CU) through F1 interfaces as standardized by 3GPP.

MEC environment 10 can include one or more far edge MEC node as depictedin FIG. 4 . A far edge MEC node can provide functions which can bedeployed near radio units and DUs to support, e.g., low latencyservices, traffic management, security, etc.

MEC environment 10 can include one or more edge network cluster asdepicted in FIG. 4 . In the embodiment of FIG. 4 , MEC platform 100 canbe provided in the edge network cluster. The depicted edge networkcluster can provide MEC capabilities hosted at a centralized unit (CU).In MEC environment 10, these MEC capabilities at a CU act as a servicedelivery anchor.

In reference to MEC platform 100 depicted in FIG. 4 , there aredescribed key functionalities that can be provided at MEC platform 100,in this case within a network cluster CU to provide a stronglyorchestrated architecture for distributed on-demand based MEC capabilitydriven service delivery.

Service delivery application 110 (FIG. 1 ) can employ a servicetemplate, a capability template 115, and regulatory end node process116. Service template 114 can define capabilities associated to deliveryof a service to an end user. Service delivery application 110 can use aservice template to detect a service function extension request. When aservice function extension request is detected, a service deliveryapplication can responsively examine capability data of a capabilityledger of ledger data structure 120 to identify a suitable servicecapability application for performing the service function extension.When a service function extension request is detected, a servicedelivery application can responsively write demand data to a demandledger of ledger data structure 120 specifying the service functionextension. The distributed MEC ecosystem defined by MEC environment 10and any MEC application that understands the service can take the demandrequest in the demand ledger and fulfil by providing a requiredcapability chain to a service delivery application.

The capability template 115 can store details in the form of criteriondata specifying one or more criterion defining the capabilitiesassociated to a particular service function. Service template 114 canhave a high level capability view, whereas capability template 115 canhave detailed specification based on service parameters and also canhold a table with a preferred MEC capability provider against eachcapability specification. Service template 114 and capability template115 can be stored in data repository 108 (FIG. 1 ).

Service delivery application 110 can run regulatory end node process116. Regulatory end node process 116 can provide a mechanism to havecontrol over data going to an external region and also complying withlocal regulations while enabling service delivery with external data toits subscriber.

An enterprise entity such as an edge enterprise entity CSP can maintainservice template 114 that operates according to a service orchestrationprocess, i.e., all process milestones in the form of capabilities can bedefined for fulfillment of a service. Embodiments herein recognize thata delivered service can have different variants depending upon desiredservice features. For example, an attorney user and a non-attorney userboth may want to have a consumer voice call service. Both can initiate avoice call in the same way, but the attorney is willing to pay forpremium quality and additional encryption for security. Therefore, whiledesigning service for the attorney, there can be specified additionalcapabilities respecting high audio quality enablement and application ofencryption. Hence, the MEC service template function can pick differentviews under common voice template for the attorney and the non-attorney.In one embodiment, service delivery application 110 can process voicedata to dynamically detected service function extension during runtimeof a service delivery application.

Table H depicts attributes of an example service template according toone embodiment. The service template additionally can include controlfeatures as are described in Table A and Table B.

TABLE H Service Template Detailed Template Voice Voice call templateBasic voice call feature Premium voice call template SoS voice calltemplate Internet Access Internet access template Basic internet accesstemplate Premium internet access template High mobility enabled internetaccess template High mobility and low latency internet access templateHeliographic Heliographic video template Heliographic video forentertainment template Heliographic video for educational templateHeliographic video for industrial application

Table I depicts attributes of an example capability template accordingto one embodiment.

TABLE I Service Capability Template Template Capability Flow Basic voiceDialed number Dialed number analysis call feature location Destinationidentification identification Locate subscriber Dialed number Route thenumber and establish link routing Negotiate service quality parametersCapture mutual quality agreement and willingness to go into call Bearersetup and Establish bearer link based on agreed call continuityparameters Maintain call Call disconnection Disconnect call BillingAnalysis call duration and properties Bill the subscribers for all

Embodiments herein provide for distributed communication servicedelivery where an edge enterprise entity CSP is not forced to build andown end-to-end service infrastructure. Instead, an edge enterpriseentity CSP is capable of delivering any service requested by subscribercustomer user at any location by dynamically joining one or more servicecapability application from various service offers available at thatinstant from service providers that are part of distributed MECenvironment 10 but may be in any part of the world.

Embodiments herein provide for service delivery, authorization andsupply-demand negotiation. Through the described methodology, an edgeenterprise entity CSP can offer any new service to its customer withoutgoing through a complex network build and operation exercise by usingvirtual or physical network elements or deploying a complete MECsolution for new service.

Further, any enterprise entity can innovate any new service and offerthe same by becoming a provider through a MEC capability chain. Hence,new services can be rapidly developed and deployed. The methodology canuse ledger data structure 120 provided, e.g., by a Blockchain ledgerdata structure.

Ledger data structure 120 can include a plurality of ledgers. Ledgerdata structure 120 can include a capability ledger. In the capabilityledger, capability data of and individual MEC service provider can bestored. The capability ledger can be dynamically updated when any newcapability is offered or removed. The capability ledger can also holdinformation of, e.g., capability category parameters, QoS parameters,other KPI parameters, service certification parameters (security,privacy, data transfer, API certification, geo/country specificrestrictions/rules), availability parameters, preferences, customerrating, edge enterprise entity CSP rating, and inter-operability KPIparameters.

Capability category parameters can include the capability categoryparameters as shown in Table J.

TABLE J   Capacity a. International b. Regional c. Local Routing andSwitching d. IP e. MAC f. MSISDN Link and Data Network g. IP Link h.Ethernet link i. Internet RCS Suite j. Voice k. Video l. MessagingLocation m. Regional n. International Policy and Profile o. Policymanagement p. Service profile management q. Subscriber profilemanagement API r. Service API s. Management API AI and ML Billing andCharging

In one embodiment, a capability can include a supply ledger. A supplyledger can be used to register the supply of the capability. Capabilityproviders who have excess capacity and are looking for new demand canpublish to the supply ledger. The supply ledger can be used by edgeenterprise entity CSPs to understand the availability of the service andproposed pricing so that edge enterprise entity CSPs can run real-timeofferings and campaigns to the subscribers for enhanced businessopportunity.

In another aspect, ledger data structure 120 can include a demandledger. A demand ledger can be used to capture demand in real time. Whenthere is a new service function extension request, the demand ledger canbe updated with that new request. The demand ledger can be available inreal-time in MEC environment 10 and any capability provider can pick thedemand to fulfil depending upon the service specification and capabilitycompliance demanded in the demand ledger of ledger data structure 120.According to one embodiment, the capability provider that complies tothe demand first (after real-time negotiation with the edge enterpriseentity CSP where applicable) can become the demand owner and once demandis owned, then the ownership status can be updated in a demand registerof the demand ledger.

In another aspect, ledger data structure 120 can include an accountingledger. An accounting ledger can use a virtual or real currencyframework and after successful contract of demand/supply the accountingledger can be updated. The accounting ledger can also be updated withpartial success and any penalty if realized. In one aspect, a consumeruser can be provided with opportunity to rate the service aftersuccessful consumption and that may be used for accounting based on acontract. The rating can also be used to update the capability ledger.

Referring to MEC environment 10 of FIG. 2 , edge enterprise entity CSPs,MEC platform providers, and MEC application providers (an applicationprovides the capability that is used to enable a service) can beinterconnected to design and deliver any service requested bysubscriber.

Any enterprise entity can develop a MEC capability and host in a MECplatform. An analogy can be mentioned like any portal/website developercan develop a new website and host on a webserver. MEC platform 100 canupdate a capability ledger with a new MEC service capability applicationand float it into the network, advertising the same via ledger datastructure 120.

To secure the MEC capability ledger of ledger data structure 120 andavoid fraudulent applications, capability ledger update rights can berestricted. For example, according to one embodiment, the right toupdate a capability ledger can be restricted to a MEC platform ownerenterprise entity. In some embodiments, the right to update and manageledger data structure can be a capability offered as a service by somespecialized MEC service capability applications. MEC service capabilityapplications can be shared in real time and always updated, thereforealleviating a need for MEC service registries in each MEC platform 100.

Individual edge enterprise entity CSPs can provide MEC platforms 100 asshown in MEC environment 10 of FIG. 2 or can be ultra-lean by using allcapabilities of service delivery from other MEC capability providers.Edge enterprise entity CSPs can run instances of MEC service deliveryapplication 110 that consume MEC service capability applications asdescribed in connection with FIGS. 1-6 , and/or can offer MEC servicecapability applications to serve other edge enterprise entity CSPs orcustomers, like other MEC capability providers.

According to one embodiment, an edge enterprise entity CSP can have anedge network provided by a RAN, and a MEC platform defined by one ormore computing node of the edge network. The edge enterprise entity CSPcan use the remaining functionality through other providers in a MECcapability network, e.g., by joining one or more service capabilityapplication hosted on one or more MEC platform disposed anywhere, e.g.,in a data network farther from the edge that than the MEC platform 100of the edge enterprise CSP. By features herein, an enterprise entity CSPcan be free to have more functionality built in-house and take onlylimited functionality from a MEC capability network. Hence, an edgeenterprise CEP may be ultra-lean or traditional or anything in betweenas explained with reference to FIG. 10 .

Edge enterprise entity CSPs can acquire fixed capacity and functionalityfrom a capability network based on its forecasted need or may be moreagile and follow “just in time” philosophy to contract a capability whenactually it needs to deliver specific service. MEC environment 10, asshown in FIG. 2 herein, can alternatively be termed a MEC capabilitychain or MEC capability network.

Ledger data structure 120 can be provided by a Blockchain ledger datastructure according to one embodiment. According to one embodiment,ledger data structure 120 can provide ledger distribution andmanagement, security, privacy, and routing compliant with Blockchain.

Embodiments herein provide a method to offer services and to join anddeliver services in non-monolithic structure of conventional CSP. Anedge enterprise entity CSP can intercept the service that a subscriberinitiates for consumption. Afterwards, an edge enterprise entity CSP canfollow a service design process to identify required capabilities. Oncecapabilities are identified, then an edge enterprise entity CSP can pickcapabilities within its network and for remaining capabilities caninvestigate a supply ledger of a capability ledger. An edge enterpriseentity CSP can pick best capabilities with a best offer. An edgeenterprise entity CSP can stitch together all capabilities to completeservice delivery process and fulfil the service. If an edge enterpriseentity CSP has any service forecast, then it can place the serviceforecast into a demand ledger to negotiate a better offer. The followingsection on working principles will further elaborate on this.

Embodiments herein identify an unmet need of the communication industryin terms of breaking the edge enterprise entity CSP monolith. Afederated and managed delivery of services set forth herein providesvalue addition and latency reduction in an effective manner Embodimentsherein recognize that as more and more industries creatively imagine newuse cases and consumers demand more from their edge enterprise entityCSP providers and with the proliferation of 5G networks, unprecedentednetwork loads can require shifting of computing closer to the point ofservice. Embodiments herein recognize that demands for edge computingare likely to increase. Embodiments herein provide from managementacross edge enterprise entity CSPs and MEC platforms.

As shown in FIG. 2 , a MEC environment 10 providing a capabilityecosystem hosts all MEC capabilities in MEC platforms in its network.Any newly developed MEC capability can be hosted in any MEC platformafter due qualification process. The qualification process can includesecurity and privacy compliance, service API structure and compliance tostandards, geo-political area covered, quality standard compliance,processing latency, and compliance to communication industryregulations. MEC capabilities can be in any form and can be classifiedaccording to structure set forth herein.

According to one embodiment, a MEC service capability application canprovide location capability. A MEC application can offer locationcapability. A MEC application can provide location of the subscriberuser in a country or region. A MEC application can have a databaseconfigured according to a visitor location register and poll locationinformation from all subscriber users attached to various edgeenterprise entity CSPs operating in that region through a standardizedcommon location polling REST API.

When an edge enterprise entity CSP looks for location information of asubscriber user to terminate a call from its subscriber user, then thisMEC application can offer location information as capability through astandard REST API.

A MEC service capability application can provide routing and switchingcapability. Routing capability can be of many categories. According toone example, external region call routing may be considered. When asubscriber initiates an external region call, then an edge enterpriseentity CSP service using phone number processing can determine that anexternal region call has been placed. An edge enterprise entity CSP canbe absent an ability to serve an external region call. In this context,as explained with reference to FIGS. 1 and 2 , an edge enterprise entityCSP can look for a MEC capability that can provide external region callswitching capability. The MEC application picks the best available offerand hands over the call originated by its subscriber to that MECcapability provider. The MEC application takes the call and switches itto the desired location. The same MEC application or platform can alsooffer an external region link or the edge enterprise entity CSP may takethe link capability from some other provider. An edge enterprise entityCSP can share the call details with a MEC capability provider on apre-defined and standardized open API. The external region capabilityprovider can have algorithms to route the external region call byvarious existing routing procedure, e.g., dialed number analysis.

Once MEC capabilities of MEC service capability applications are listedin the capability ledger that is shared in the capability network, thena MEC capability provider can offer the service. The MEC capabilityprovider can publish what it can supply at any point of time in thesupply ledger of the capability ledger so that the potential MEC servicecapability consumer can pick and use the service.

Embodiments herein can feature on-demand scenarios where a servicecapability application is identified and joined to a service deliveryapplication in runtime of the service delivery application. In someembodiments, a service capability application can be identified and/orjoined to a service delivery application prior to runtime of the servicedelivery application. Embodiments herein recognize that edge enterpriseentity CSPs can build long term relationships with some MEC platformproviders or MEC application providers to simplify the operating processand establish long term financial stability. Such contracts andagreements are specific to edge enterprise entity CSP and MEC serviceproviders. A capability template 115 (FIG. 1 ) of a service deliveryapplication can record data indicating one or more predetermined servicecapability application identified and/or joined to a service deliveryapplication prior to runtime of the service delivery application.

According to one embodiment, MEC platform 100 can have a structuredheader to introduce itself and mention any restriction that it may havewhile sharing its identity with other MEC platforms. A sample headerstructure can be provided as set forth in Table K.

TABLE K  Header{  <MEC Platform Identity=″ Unique Identity″Location=″CC+LAC″>  < Service Class=″Class 1, Class 2, Class 3″>  <UserRating=″Rating″, End to End Latency=″Mil second″, PlatformJitter=″Jitter rate″,  Availability=″Availability rate″ >  <Capacity-CPU=″Peak time capacity %″, Memory=″Peak time memory %″>  }  

 i.Details {  

 i.<Detailed MEC platform capability>  

 i.<SLA rules>  

 .<Rating, Billing and accounting rules >  

 .<Compliance and certification>  

 i.}

indicates data missing or illegible when filed

Location may follow the existing location definition used in Telecomindustry and can refer to locations in which a MEC platform 100 canprovide service instead of referring to only physical location. In theabove description, CC is Country Code and LAC is Location Area Code. Forexample, if a MEC platform is capable of serving the whole world, thenit may mention the location as “00,” whereas if it's capable of servingonly the United States, then it may mention the location as “001,” butif it's capable of serving in New York City in the United States, thenit may mention the location as “001 NYC”.

Service class can refer to a class of service that the MEC platform cansupport, e.g., in-time service class, on-time service class,ultra-reliable service class, etc. A MEC application provider can selecta best suited MEC platform based on requirements of the application. MECplatform owners can verify MEC application credentials and certificationbefore allowing them to be hosted on a platform.

A MEC application can have the following defined structure as shown inTable L to provide application capability information.

TABLE L Header { <MEC application status=″ Unregistered″>b.  <Application Identity=″Temporary″, Category=″First level category″ >c.  <Security Compliance =″Yes/No″, Industry Compliance= ″Yes/No″> }Details { <Application Identity=″Identity number″> <Sub Categorydetails> <All compliance details> <Application Service Class=″Serviceclass″, Application latency=″Micro sec″, Memory required=″in MB″, CPUrequired=″Cycles″> }

Initially, application identity can be temporary and all compliances canbe marked as No. Once an application is hosted in MEC platform 100, thehosting MEC platform 100 can provide a unique global identity to the MECapplication and initiate compliance verification based on category ofthe service offered by MEC application. Based on successful complianceresults, the “header” and “detail” sections of the API can be updatedand the MEC platform provider can insert a row for new capability in theMEC capability ledger. A provider of a MEC application may wish toregister the MEC application with multiple MEC platform providers. Inthat situation, the first registration process can follow the aboveheader structure whereas subsequent registrations can have pre-filleddetails given that the first MEC platform provider has completed allcompliance and identity creation processes.

The MEC application can provide its details in a supply ledger aftersuccessful registration and it can be searched and reached by anyconsumer.

An edge enterprise entity CSP can have standing agreements with some ofthe MEC capability providers or may dynamically pick capabilities fromMEC capability network based on need. An edge enterprise entity CSP canpick the capability template based on service needs and look into itscapability repository to complete the capability chain to enable theservice delivery. When the edge enterprise entity CSP is short of somecapability, then it can use the demand ledger of ledger data structure120 and can initiate a demand by writing to the demand ledger to specifycapability details which are required by a service function.Alternatively, an edge enterprise CSP can investigate a supply ledger topick a service capability application, if needed, that may furtherreduce any latency. An edge enterprise entity CSP can use a REST API tofetch a demand or supply ledger of ledger data structure 120 and toplace new requirements into the demand or supply ledger. The REST APIcan operate according to MEC API principles according to therecommendations of the European Telecommunications Standards Institute(ETSI), according to one embodiment.

Parameters that can be included in demand data of demand written to ademand ledger can be provided as shown in Table M.

TABLE M { < edge enterprise entity CSP ID=″Identity of the CSP″ LocationID ″Location of Capability consumption″ Category=″MEC Category″ QoSLevel=″Latency, Jitter, Bit Rate″> Capability Details { < Subcategory=″Sub Category″ Sub-Sub Category=″″> <QoS parameter details><Demand SLA Details> } }

While picking a capability in the supply ledger of ledger data structure120, the edge enterprise entity CSP can confirm details in REST as shownin Table N.

TABLE N { < edge enterprise entity CSP ID=″Identity of the CSP″ LocationID ″Location of Capability consumption″ MEC Capability ID=″ID of MECCapability picked QoS Level=″Latency, Jitter, Bit Rate″ Offer Rateapproved= ″Price point ready to pay″> Usage details { d.  <StartTime=″Start time of use needed″ Duration=″Duration for which its needed″Penalty Level= ″Level of penalty due to SLA breach″ > e.  } }

Embodiments herein can facilitate service changes during delivery of aservice. According to one example, a voice call can be switched to avideo conference or sharing images can be facilitated.

Embodiments herein recognize that existing communication services failto provide uninterrupted service where a service delivery chain is notcapable of delivering any changed service. For example, if a calloriginating or terminating network does not have network capability tosupport switching of voice call to video conference, then that cannot bedone.

Embodiments herein provide a mechanism to add new capabilities during aservice delivery session. The addition of a new capability may be fromexisting capabilities in the service delivery or a new capability. Theadditional advantage is that while designing service, an edge enterpriseentity CSP can predict the additional capabilities needed and bringthose capabilities that can be easily used to upgrade or change theservice. For example, based on service properties and historical calls,an edge enterprise entity CSP can predict that the new requested voicecall may be subject to a service function extension request to switch toa video conference. Therefore, the edge enterprise entity CSP can stitchcapabilities for a voice call from a capability provider that supportsboth voice and video conference switching.

The flowchart of FIG. 12 illustrates with reference to blocks 4101-4123a sample workflow for in-session (i.e., during ongoing runtime servicedelivery) service change/upgrade. The subscriber user can requestservice change while already being in a service. The service change maybe an upgrade of a service, downgrade of a service, or a new thread.

A subscriber user can initiate a new service at block 4101 and MECplatform 100 hosting a service delivery application can stitchcapabilities to deliver a service at block 4102. An edge enterpriseentity CSP may have advanced analytics and machine learning functions atits edge node at block 4103 to further analyse and predict behaviour ofa subscriber in a service journey. Such analytics function may recommendfuturistic service design where an edge enterprise entity CSP may bringin capabilities that may not be required immediately but have a highprobability of occurrence during the session. An edge enterprise entityCSP may use the recommendation and stitch the capabilities to initiateservice delivery. An edge enterprise entity CSP may bring incapabilities that can be directly upgraded without any new design. Forexample, if request is for a voice service, then an edge enterpriseentity CSP may look into capabilities that support both voice and videocall if there is a high probability of switching to video.

During a live session of service delivery, a subscriber may request foraddition of a new feature, upgrade, or change of service at block 4109.An edge enterprise entity CSP can perform a check to determine it cansupport these new service features at block 4110, and if it cannot doso, then it can initiate a capability upgrade through a supply ledger ofa capability ledger at block 4116. In some embodiments, checking thesupply ledger can be faster than publishing a demand to a demand ledger.Accordingly, during live session modifications, methodology can includechecking a supply ledger and then writing to the demand ledger. In theevent of a lack of service in a supply ledger, then the edge enterpriseentity CSP can write a demand request in the demand ledger of ledgerdata structure 120 and can obtain a new capability from the capabilitynetwork. If this process completes within the allowed latency ofin-session service change, then the new capability is added and aservice change is performed. If the addition of a new capability doesnot happen within the allowed latency, then the edge enterprise entityCSP can at block 4123 reject the new changes in service for the ongoingsession.

Embodiments herein recognize that communication services can supportsharing of personal details across industrial players, e.g., medical,legal, social, or educational organizations. Embodiments hereinrecognize that a communication network needs to protect personalinformation and country specific information while enabling the servicedelivery involving multiple instructions and constitutional geographies.Edge enterprise entity CSPs can use analytical capabilities at its edgenetwork to support the data privacy and confidential data sharing needs.Interface end nodes can apply data privacy principles through advancedanalytics and ML functions.

FIG. 13 illustrates with reference to blocks 5101-5111 use of interfacenodes in a service delivery chain to assist in data privacy scenarios.In one embodiment, an edge enterprise entity CSP can deploy a dataanalytical interface node at an edge of the network. An interface nodecan perform data analysis for requested data and can apply the scenariosof data sharing with external agencies at block 5103. The interface nodecan recommend rules that can be applied to protect privacy at block5104. The edge enterprise entity CSP or industry vertical solutionprovider can also engage an interface node to perform a second level ofvalidation based on its local rule and regulation at block 5104. Hence,privacy of the personal data in an end-to-end scenario can be addressed.

Embodiments herein recognize that because complete service delivery atthe source and destination end is with the edge enterprise entity CSP;therefore, edge enterprise entity CSPs can adopt any lawful interception(LI) policy at their respective access and edge network. In specificscenarios, MEC platform owners can also adopt LI polices and implementthem to safeguard the complete delivery platform.

Within MEC environment 10, security can be offered as a specializedcapability for potential subscriber users. An example may be that when asubscriber user who is a stock broker calls a relative, then securitymay be less of a concern but can be of greater concern when the stockbroker calls his client to share some sensitive high value trade deals.A service delivery application can be configured to examine applicationdata including user defined data to join an appropriate servicecapability application.

MEC environment 10 can be configured to provide service assurance. Inmany use cases, capability selection can be provided in real time sothat capability can be well matched to service requests. Once a propercapability chain is created, there can be minimal risk that there willbe any interruption during the service delivery. Individual capabilitiescan be ranked based on past performance and future opportunity for acapability can depend on the past ratings. Accordingly, each capabilityprovider can be incentivized to continually produce the best service.

The flowchart of FIG. 14 illustrates with reference to blocks 6101-6104a method for sharing performance metrics during service delivery.According to one embodiment, each capability provider can share itsperformance metrics during service delivery in a form of performancelogin near real-time as indicated by block 6104. A capability providercan also produce warnings and recommendations during the ongoing servicedelivery in case of any risk so that the edge enterprise entity CSP cantake corrective action.

The flowchart of FIG. 15 illustrates with reference to blocks 7101-7108a method for substituting a service capability. In case of a warning, acapability provider can share the details with the edge enterpriseentity at block 7103. An edge enterprise entity CSP can evaluate thesituation and checks at block 7105 whether the warning is manageablewithin the existing capabilities of the capability provider. If there isan impact on service, then the edge enterprise entity CSP at block 7107can substitute the capability.

As set forth herein, service delivery application 110 herein can performnatural language processing (NLP) for determining one or more NLP outputparameter value of a message such as a message defined by text dataextracted from voice data. Natural language processing herein caninclude one or more of a topic classification process that determinestopics of messages and output one or more topic NLP output parameter, asentiment analysis process which determines sentiment parameter for amessage, e.g., polar sentiment NLP output parameters, “negative,”“positive,” and/or non-polar NLP output sentiment parameters, e.g.,“anger,” “disgust,” “fear,” “joy,” and/or “sadness” or otherclassification process for output of one or more other NLP outputparameters, e.g., one of more “social tendency” NLP output parameter orone or more “writing style” NLP output parameter. By performing naturallanguage processing, service delivery application 110 herein can performa number of processes including one or more of (a) topic classificationand output of one or more topic NLP output parameter for a processedmessage, (b) sentiment classification and output of one or moresentiment NLP output parameter for a processed message, or (c) other NLPclassifications and output of one or more other NLP output parameter forthe received message.

Topic analysis for topic classification and output of NLP outputparameters can include topic segmentation to identify several topicswithin a message. Topic analysis can apply a variety of technologies,e.g., one or more of Hidden Markov model (HMM), artificial chains,passage similarities using word co-occurrence, topic modeling, orclustering. Sentiment analysis for sentiment classification and outputof one or more sentiment NLP parameter can determine the attitude of aspeaker or a writer with respect to some topic or the overall contextualpolarity of a document. The attitude may be the author's judgment orevaluation, affective state (the emotional state of the author whenwriting), or the intended emotional communication (emotional effect theauthor wishes to have on the reader). In one embodiment, sentimentanalysis can classify the polarity of a given text as to whether anexpressed opinion is positive, negative, or neutral. Advanced sentimentclassification can classify beyond a polarity of a given text. Advancedsentiment classification can classify emotional states as sentimentclassifications. Sentiment classifications can include theclassification of “anger,” “disgust,” “fear,” “joy,” and “sadness.”Service delivery application performing natural language processing canreturn general topics that generally describe more than one speciestopic, and/or can return species topics, e.g., keyword topics.

Certain embodiments herein may offer various technical computingadvantages and practical applications to address problems arising in therealm of computer networks and computer systems. Embodiments herein canfeature a multi-access edge (MEC) computer environment having aplurality of MEC platforms. The described MEC environment can facilitatecollaboration between different enterprise entities such as between edgeenterprise entities that own, operate, and/or control edgeinfrastructure and enterprise entities other than edge enterpriseentities. A plurality of MEC platforms can be distributed withincomputing environments throughout various locations, including locationswithin infrastructure of edge enterprise entities and also at locationsaway from an edge network such as within a data network. The various MECplatforms can host one or more of service delivery application andservice capability application. Service capability application providerscan advertise their service capability applications on a shared ledgerdata structure and service capability application consumers such asproviders of service delivery applications can examine capability dataof the shared ledger data structure to identify service capabilityapplications for joining into a service delivery application. A servicedelivery application can be configured to use the described sharedledger data structure during runtime processing of a service deliveryapplication to dynamically join during the running of a service deliveryapplication a service capability application. In some embodiments, aservice delivery application can join a service capability application.In one embodiment, a service delivery application hosted on a MECplatform within an edge network can join a service capabilityapplication hosted on a data network MEC platform. In some embodiments,a service delivery application hosted on a data network away from anEdge network can join service capability application hosted on a MECplatform within an edge network. A service delivery application duringruntime processing of a service delivery application can employ naturallanguage processing to detect a service function extension request. Inresponse to the detection of a service function extension request, aservice delivery application can use the described ledger data structureto identify a suitable service capability application for joining intothe service delivery application. Some embodiments of service deliveryapplications in response to the detection of a service functionextension request can write demand data to the described ledger datastructure in order to specify a demand for a service capabilityapplication. The service delivery application can subsequently examinecapability data written to the described ledger data structure byservice capability providers owning service capability applications inresponse to the newly published demand data written to the describeddemand ledger of the ledger data structure. Various decision datastructures can be used to drive artificial intelligence (AI) decisionmaking Decision data structures as set forth herein can be updated bymachine learning so that accuracy and reliability is iterativelyimproved over time without resource consuming rules intensiveprocessing. Machine learning processes can be performed for increasedaccuracy and for reduction of reliance on rules based criteria and thusreduced computational overhead. For enhancement of computationalaccuracies, embodiments can feature computational platforms existingonly in the realm of computer networks such as artificial intelligenceplatforms, and machine learning platforms. Embodiments herein can employdata structuring processes, e.g., processing for transformingunstructured data into a form optimized for computerized processing.Embodiments herein can include artificial intelligence processingplatforms featuring improved processes to transform unstructured datainto structured form permitting computer based analytics and decisionmaking Embodiments herein can include particular arrangements for bothcollecting rich data into a data repository and additional particulararrangements for updating such data and for use of that data to driveartificial intelligence decision making Certain embodiments may beimplemented by use of a cloud platform/data center in various typesincluding a Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS),Database-as-a-Service (DBaaS), and combinations thereof based on typesof subscription.

FIGS. 16-18 depict various aspects of computing, including a computersystem and cloud computing, in accordance with one or more aspects setforth herein.

It is understood in advance that although this disclosure includes adetailed description on cloud computing, implementation of the teachingsrecited herein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based e-mail).The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage,or even individual application capabilities, with the possible exceptionof limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure comprising anetwork of interconnected nodes.

Referring now to FIG. 16 , a schematic of an example of a computing nodeis shown. Computing node 10 is only one example of a computing nodesuitable for use as a cloud computing node and is not intended tosuggest any limitation as to the scope of use or functionality ofembodiments of the invention described herein. Regardless, computingnode 11 is capable of being implemented and/or performing any of thefunctionality set forth hereinabove. Computing node 11 can beimplemented as a cloud computing node in a cloud computing environment,or can be implemented as a computing node in a computing environmentother than a cloud computing environment.

In computing node 11 there is a computer system 12, which is operationalwith numerous other general purpose or special purpose computing systemenvironments or configurations. Examples of well-known computingsystems, environments, and/or configurations that may be suitable foruse with computer system 12 include, but are not limited to, personalcomputer systems, server computer systems, thin clients, thick clients,hand-held or laptop devices, multiprocessor systems,microprocessor-based systems, set top boxes, programmable consumerelectronics, network PCs, minicomputer systems, mainframe computersystems, and distributed cloud computing environments that include anyof the above systems or devices, and the like.

Computer system 12 may be described in the general context of computersystem-executable instructions, such as program processes, beingexecuted by a computer system. Generally, program processes may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system 12 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program processes may belocated in both local and remote computer system storage media includingmemory storage devices.

As shown in FIG. 9 , computer system 12 in computing node 11 is shown inthe form of a computing device. The components of computer system 12 mayinclude, but are not limited to, one or more processor 16, a systemmemory 28, and a bus 18 that couples various system components includingsystem memory 28 to processor 16. In one embodiment, computing node 11is a computing node of a non-cloud computing environment. In oneembodiment, computing node 11 is a computing node of a cloud computingenvironment as set forth herein in connection with FIGS. 10-11 .

Bus 18 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnects (PCI) bus.

Computer system 12 typically includes a variety of computer systemreadable media. Such media may be any available media that is accessibleby computer system 12, and it includes both volatile and non-volatilemedia, removable and non-removable media.

System memory 28 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 32. Computer system 12 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 34 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 18 by one or more datamedia interfaces. As will be further depicted and described below,memory 28 may include at least one program product having a set (e.g.,at least one) of program processes that are configured to carry out thefunctions of embodiments of the invention.

One or more program 40, having a set (at least one) of program processes42, may be stored in memory 28 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram processes, and program data. One or more program 40 includingprogram processes 42 can generally carry out the functions set forthherein. In one embodiment, MEC platforms 100 herein can include one ormore computing node 11 and can include one or more program 40 forperforming functions described with reference to MEC platforms 100,including the functions described with reference to service deliveryapplications 110, service capability applications 140A-140Z and ledgerdata structure 120. In one embodiment, the computing node based systemshaving MEC platforms 100 herein defined by one or more computing node 11can include one or more program for performing function described withreference to such computing node based systems and devices.

Computer system 12 may also communicate with one or more externaldevices 14 such as a keyboard, a pointing device, a display 24, etc.;one or more devices that enable a user to interact with computer system12; and/or any devices (e.g., network card, modem, etc.) that enablecomputer system 12 to communicate with one or more other computingdevices. Such communication can occur via Input/Output (I/O) interfaces22. Still yet, computer system 12 can communicate with one or morenetworks such as a local area network (LAN), a general wide area network(WAN), and/or a public network (e.g., the Internet) via network adapter20. As depicted, network adapter 20 communicates with the othercomponents of computer system 12 via bus 18. It should be understoodthat although not shown, other hardware and/or software components couldbe used in conjunction with computer system 12. Examples, include, butare not limited to: microcode, device drivers, redundant processingunits, external disk drive arrays, RAID systems, tape drives, and dataarchival storage systems, etc. In addition to or in place of havingexternal devices 14 and display 24, which can be configured to provideuser interface functionality, computing node 11 in one embodiment caninclude display 25 connected to bus 18. In one embodiment, display 25can be configured as a touch screen display and can be configured toprovide user interface functionality, e.g., can facilitate virtualkeyboard functionality and input of total data. Computer system 12 inone embodiment can also include one or more sensor device 27 connectedto bus 18. One or more sensor device 27 can alternatively be connectedthrough I/O interface(s) 22. One or more sensor device 27 can include aGlobal Positioning Sensor (GPS) device in one embodiment and can beconfigured to provide a location of computing node 11. In oneembodiment, one or more sensor device 27 can alternatively or inaddition include, e.g., one or more of a camera, a gyroscope, atemperature sensor, a humidity sensor, a pulse sensor, a blood pressure(bp) sensor or an audio input device. Computer system 12 can include oneor more network adapter 20. In FIG. 17 computing node 11 is described asbeing implemented in a cloud computing environment and accordingly isreferred to as a cloud computing node in the context of FIG. 17 .

Referring now to FIG. 17 , illustrative cloud computing environment 50is depicted. As shown, cloud computing environment 50 comprises one ormore cloud computing nodes 11 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 54A, desktop computer 54B, laptop computer 54C,and/or automobile computer system 54N may communicate. Nodes 11 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as Private, Community,Public, or Hybrid clouds as described hereinabove, or a combinationthereof. This allows cloud computing environment 50 to offerinfrastructure, platforms and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 54A-N shownin FIG. 17 are intended to be illustrative only and that computing nodes10 and cloud computing environment 50 can communicate with any type ofcomputerized device over any type of network and/or network addressableconnection (e.g., using a web browser).

Referring now to FIG. 18 , a set of functional abstraction layersprovided by cloud computing environment 50 (FIG. 17 ) is shown. Itshould be understood in advance that the components, layers, andfunctions shown in FIG. 18 are intended to be illustrative only andembodiments of the invention are not limited thereto. As depicted, thefollowing layers and corresponding functions are provided:

Hardware and software layer 60 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 61; RISC(Reduced Instruction Set Computer) architecture based servers 62;servers 63; blade servers 64; storage devices 65; and networks andnetworking components 66. In some embodiments, software componentsinclude network application server software 67 and database software 68.

Virtualization layer 70 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers71; virtual storage 72; virtual networks 73, including virtual privatenetworks; virtual applications and operating systems 74; and virtualclients 75.

In one example, management layer 80 may provide the functions describedbelow. Resource provisioning 81 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 82provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 83 provides access to the cloud computing environment forconsumers and system administrators. Service level management 84provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 85 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 90 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation 91; software development and lifecycle management 92; virtualclassroom education delivery 93; data analytics processing 94;transaction processing 95; and processing components 96 for servicedelivery include collaborative service delivery as set forth herein. Theprocessing components 96 can be implemented with use of one or moreprogram 40 described in FIG. 16 .

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a computer, or other programmable data processing apparatusto produce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks. These computerreadable program instructions may also be stored in a computer readablestorage medium that can direct a computer, a programmable dataprocessing apparatus, and/or other devices to function in a particularmanner, such that the computer readable storage medium havinginstructions stored therein comprises an article of manufactureincluding instructions which implement aspects of the function/actspecified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be accomplished as one step, executed concurrently,substantially concurrently, in a partially or wholly temporallyoverlapping manner, or the blocks may sometimes be executed in thereverse order, depending upon the functionality involved. It will alsobe noted that each block of the block diagrams and/or flowchartillustration, and combinations of blocks in the block diagrams and/orflowchart illustration, can be implemented by special purposehardware-based systems that perform the specified functions or acts orcarry out combinations of special purpose hardware and computerinstructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used herein, thesingular forms “a,” “an,” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willbe further understood that the terms “comprise” (and any form ofcomprise, such as “comprises” and “comprising”), “have” (and any form ofhave, such as “has” and “having”), “include” (and any form of include,such as “includes” and “including”), and “contain” (and any form ofcontain, such as “contains” and “containing”) are open-ended linkingverbs. As a result, a method or device that “comprises,” “has,”“includes,” or “contains” one or more steps or elements possesses thoseone or more steps or elements, but is not limited to possessing onlythose one or more steps or elements. Likewise, a step of a method or anelement of a device that “comprises,” “has,” “includes,” or “contains”one or more features possesses those one or more features, but is notlimited to possessing only those one or more features. Forms of the term“based on” herein encompass relationships where an element is partiallybased on as well as relationships where an element is entirely based on.Methods, products and systems described as having a certain number ofelements can be practiced with less than or greater than the certainnumber of elements. Furthermore, a device or structure that isconfigured in a certain way is configured in at least that way, but mayalso be configured in ways that are not listed.

It is contemplated that numerical values, as well as other values thatare recited herein are modified by the term “about”, whether expresslystated or inherently derived by the discussion of the presentdisclosure. As used herein, the term “about” defines the numericalboundaries of the modified values so as to include, but not be limitedto, tolerances and values up to, and including the numerical value somodified. That is, numerical values can include the actual value that isexpressly stated, as well as other values that are, or can be, thedecimal, fractional, or other multiple of the actual value indicated,and/or described in the disclosure.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below, if any, areintended to include any structure, material, or act for performing thefunction in combination with other claimed elements as specificallyclaimed. The description set forth herein has been presented forpurposes of illustration and description, but is not intended to beexhaustive or limited to the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the disclosure. Theembodiment was chosen and described in order to best explain theprinciples of one or more aspects set forth herein and the practicalapplication, and to enable others of ordinary skill in the art tounderstand one or more aspects as described herein for variousembodiments with various modifications as are suited to the particularuse contemplated.

What is claimed is:
 1. A computer implemented method comprising:examining capability data of a shared ledger data structure, wherein thecapability data specifies one or more capability for respective ones ofa plurality of service capability applications; joining a servicecapability application of the plurality of service capabilityapplications to a service delivery application in dependence on theexamining; and running the service delivery application, with theservice capability application joined to the service deliveryapplication.
 2. The computer implemented method of claim 1, wherein theexamining and joining are performed prior to runtime of the servicedelivery application.
 3. The computer implemented method of claim 1,wherein the examining and joining are performed during runtime of theservice delivery application.
 4. The computer implemented method ofclaim 1, wherein the method includes writing demand data to the ledgerdata structure, the demand data specifying one or more criterion for theservice capability application.
 5. The computer implemented method ofclaim 1, wherein the service delivery application is hosted on a firstMEC platform, and wherein the service capability application is hostedon a second MEC platform, wherein the first MEC platform is located inan edge network, and wherein the first MEC platform is located within acomputing environment farther from an edge end than the second MECplatform.
 6. The computer implemented method of claim 1, wherein themethod includes, during runtime processing of the service deliveryapplication, processing application data of the service deliveryapplication to detect a service function extension request, andresponsively to the service function extension request, performing theexamining and the joining.
 7. The computer implemented method of claim1, wherein the method includes, during runtime processing of the servicedelivery application, processing application data of the servicedelivery application to detect a service function extension request, andresponsively to the service function extension request, performing theexamining and the joining, wherein the processing application data ofthe service delivery application to detect a service function extensionrequest includes subjecting user defined data of an end user of theservice delivery application to natural language processing to extract atopic from the user defined data.
 8. The computer implemented method ofclaim 1, wherein the service delivery application delivers a service toa user and wherein the examining and the joining are performedresponsively user defined data of the user generated during the runningof the service delivery application.
 9. The computer implemented methodof claim 1, wherein the method includes writing demand data to theledger data structure, the demand data specifying one or more criterionfor the service capability application, wherein the method includesselecting the service delivery application from a remainder of theplurality of service capability applications based on a determining thatthe one or more criterion specified by the demand data written to theledger data structure has been satisfied, and wherein the one or morecriterion specified by the demand data specifies a timing requirementfor completion of a demand defined by the demand data.
 10. The computerimplemented method of claim 1, wherein the service delivery applicationis a telephone call service delivery application for support of atelephonic call, wherein the service capability application performsrouting of the telephonic call, wherein the method includes, duringruntime processing of the service delivery application, processingapplication data of the service delivery application to detect a servicefunction extension request, and responsively to the service functionextension request, joining a second service capability application tothe service delivery application, the second service capabilityapplication performing certain security processing of user defined voicebased data of the telephonic call, wherein the processing applicationdata of the service delivery application to detect a service functionextension request includes subjecting user defined voice based data ofan end user of the service delivery application to natural languageprocessing to extract a topic from the user defined voice based data.11. The computer implemented method of claim 1, wherein the methodincludes, during runtime processing of the service delivery application,processing application data of the service delivery application todetect a service function extension request, and responsively to theservice function extension request, joining a second service capabilityapplication to the service delivery application, the second servicecapability application performing certain security processing of userdefined voice based data, wherein the processing application data of theservice delivery application to detect a service function extensionrequest includes subjecting user defined voice based data of an end userof the service delivery application to natural language processing toextract a topic from the user defined voice based data.
 12. The computerimplemented method of claim 1, wherein the method includes, duringruntime processing of the service delivery application, processingapplication data of the service delivery application to detect a servicefunction extension request, and responsively to the service functionextension request, joining a second service capability application tothe service delivery application, wherein the processing applicationdata of the service delivery application to detect a service functionextension request includes subjecting user defined data of an end userof the service delivery application to natural language processing. 13.The computer implemented method of claim 1, wherein the method includes,during runtime processing of the service delivery application,processing application data of the service delivery application todetect a service function extension request, and responsively to theservice function extension request, joining a second service capabilityapplication to the service delivery application, wherein the processingapplication data of the service delivery application to detect a servicefunction extension request includes subjecting user defined data of anend user of the service delivery application to natural languageprocessing.
 14. The computer implemented method of claim 1, wherein theservice capability application has been developed by an enterpriseentity other than an enterprise entity that has developed the servicedelivery application.
 15. The computer implemented method of claim 1,wherein the joining the service capability application of the pluralityof service capability applications to a service delivery application independence on the examining includes performing the joining so that aprogram image for instantiation of a runtime instance of a servicecapability application is pulled into a computing environment that hoststhe service delivery application.
 16. The computer implemented method ofclaim 1, wherein the joining the service capability application of theplurality of service capability applications to a service deliveryapplication in dependence on the examining includes performing thejoining so that a program image for instantiation of a runtime instanceof a service capability application is pulled into a computingenvironment, wherein the program image for instantiation of a runtimeinstance of a service capability application instantiates a virtualmachine for running of the service capability application.
 17. Thecomputer implemented method of claim 1, wherein the joining the servicecapability application of the plurality of service capabilityapplications to a service delivery application in dependence on theexamining includes performing the joining so that a program image forinstantiation of a runtime instance of a service capability applicationis instantiated on a computing environment that hosts the servicedelivery application, wherein the program image for instantiation of aruntime instance of a service capability application instantiates avirtual machine for running of the service capability application. 18.The computer implemented method of claim 1, wherein the joining theservice capability application of the plurality of service capabilityapplications to a service delivery application in dependence on theexamining includes performing the joining so that a program image forinstantiation of a runtime instance of a service capability applicationis instantiated on a computing environment that hosts the servicedelivery application.
 19. A computer program product comprising: acomputer readable storage medium readable by one or more processingcircuit and storing instructions for execution by one or more processorfor performing a method comprising: examining capability data of ashared ledger data structure, wherein the capability data specifies oneor more capability for respective ones of a plurality of servicecapability applications; joining a service capability application of theplurality of service capability applications to a service deliveryapplication in dependence on the examining; and running the servicedelivery application, with the service capability application joined tothe service delivery application.
 20. A system comprising: a memory; atleast one processor in communication with the memory; and programinstructions executable by one or more processor via the memory toperform a method comprising: examining capability data of a sharedledger data structure, wherein the capability data specifies one or morecapability for respective ones of a plurality of service capabilityapplications; joining a service capability application of the pluralityof service capability applications to a service delivery application independence on the examining; and running the service deliveryapplication, with the service capability application joined to theservice delivery application.